下面是从逗号分隔的 CSV 文件中读取的内容。
每行 [2] 中的第三个字段货币字段是问题所在。 我需要在逗号处拆分字段,但货币字段有时可能很大并且也有它们。
如何拆分包含货币的逗号分隔的 csv 文件??
csv 始终保持每行 5 个字段的一致性。
下面示例中的第一行有效,但第二行会导致问题。
下午 3,09:29,€20.00,测试,测试
1,02:55 am,€10,000.00,测试,测试
StreamReader fileIn = new StreamReader(path);
//Read the file
while (!fileIn.EndOfStream)
{
String line = fileIn.ReadLine();
String[] pieces = line.Split(',');
csvComplete cEve = new csvComplete (pieces[0], pieces[1], pieces[2], pieces[3], pieces[4]);// assign to class cEve
entries.Add(cEve);
}
如有任何链接或建议,我们将不胜感激。
最佳答案
我之前遇到过类似的问题,于是求助于 Microsoft.VisualBasic.FileIO.TextFieldParser
。在你的情况下,试试这个:
using(TextFieldParser parser = new TextFieldParser(new StreamReader(path)){
parser.Delimiters = new string [] {","};
while(true){
String[] pieces = parser.ReadFields();
if(pieces == null)
break;
csvComplete cEve = new csvComplete (pieces[0], pieces[1], pieces[2], pieces[3], pieces[4]);// assign to class cEve
entries.Add(cEve);
}
}
可以找到更多信息 here .
关于c# - 读取包含货币的逗号分隔 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057521/