来自 .csv 的 StreamReader - "foreign" 个字符和空白值显示为“?”
StreamReader from .csv - "foreign" chars and blank values showing up as '?'
我在使用 streamreader 读取 .csv 文件时遇到了两个问题。我想要做的是获取值,将它们放入我稍后将使用的变量中,通过 Selenium 将值输入到浏览器中。
这是我的代码(最后的 Console.Writeline 只是为了调试):
string[] read;
char[] seperators = { ';' };
StreamReader sr = new StreamReader(@"C:\filename.csv", Encoding.Default, true);
string data = sr.ReadLine();
while((data = sr.ReadLine()) != null)
{
read = data.Split(seperators);
string cpr = read[0];
string ydelsesKode = read[1];
string startDato = read[3];
string stopDato = read[4];
string leverandoer = read[5];
string leverandoerAdd = read[6];
Console.WriteLine(cpr + " " + ydelsesKode + " " + startDato + " " + stopDato + " " + leverandoer + " " + leverandoerAdd);
}
代码本身运行良好 - 但我有两个问题:
- 该文件包含丹麦语值,这意味着我得到了 åøæ,但它们显示为“?”在控制台中。在记事本中这些字符看起来不错。
- 空白值也显示为“?”。有什么办法可以将它们变成空白 space 这样 Selenium 就不会“混淆”了吗?
示例输出:
1372 1.1 01-10-2013 01-10-2013 Bakkev?nget - dagcenter ?
Bakkev?nget 应该是 Bakkevænget 和最后的 '?'应该是空白的(或者更确切地说,银行 space)。
通过使用制表符分隔的 unicode .txt 文件而不是 .csv 来“修复”它。出于某种原因,我的 excel 版本没有保存为 unicode .csv 的选项...
不太了解“自己动手”解析器的问题,但也许有一天有人会花时间向我更好地解释它。在这个 c# 东西上还是新手...
我在使用 streamreader 读取 .csv 文件时遇到了两个问题。我想要做的是获取值,将它们放入我稍后将使用的变量中,通过 Selenium 将值输入到浏览器中。 这是我的代码(最后的 Console.Writeline 只是为了调试):
string[] read;
char[] seperators = { ';' };
StreamReader sr = new StreamReader(@"C:\filename.csv", Encoding.Default, true);
string data = sr.ReadLine();
while((data = sr.ReadLine()) != null)
{
read = data.Split(seperators);
string cpr = read[0];
string ydelsesKode = read[1];
string startDato = read[3];
string stopDato = read[4];
string leverandoer = read[5];
string leverandoerAdd = read[6];
Console.WriteLine(cpr + " " + ydelsesKode + " " + startDato + " " + stopDato + " " + leverandoer + " " + leverandoerAdd);
}
代码本身运行良好 - 但我有两个问题:
- 该文件包含丹麦语值,这意味着我得到了 åøæ,但它们显示为“?”在控制台中。在记事本中这些字符看起来不错。
- 空白值也显示为“?”。有什么办法可以将它们变成空白 space 这样 Selenium 就不会“混淆”了吗? 示例输出:
1372 1.1 01-10-2013 01-10-2013 Bakkev?nget - dagcenter ?
Bakkev?nget 应该是 Bakkevænget 和最后的 '?'应该是空白的(或者更确切地说,银行 space)。
通过使用制表符分隔的 unicode .txt 文件而不是 .csv 来“修复”它。出于某种原因,我的 excel 版本没有保存为 unicode .csv 的选项...
不太了解“自己动手”解析器的问题,但也许有一天有人会花时间向我更好地解释它。在这个 c# 东西上还是新手...