解析csv文件,忽略引号中逗号的逗号c#
问题描述:
我目前正在寻找将用逗号读入应用程序的CSV文件进行拆分,但是,当我不想要的时候,双引号中会出现合法的逗号他们是。解析csv文件,忽略引号中逗号的逗号c#
当使用TextFieldParser这是阅读我想要它读取的字段,但它读取所有的领域,然后我努力让他们出在正确的线。
public string ParseCSVForFields(string dataFileName)
{
var sb = new StringBuilder();
var line = new List<string>();
using (TextFieldParser parser = new TextFieldParser(dataFileName))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
parser.HasFieldsEnclosedInQuotes = true;
while (!parser.EndOfData)
{
//Processing row
string currentRow = parser.ReadLine();
string[] fields = parser.ReadFields();
foreach (var field in fields)
{
// this is where i am stuck
}
}
}
return null;
}
任何和所有的帮助将非常感激。
感谢
答
要调用都ReadLine
和ReadFields
。这似乎是可疑的。删除ReadLine
部分。
+0
除此之外,我还缺少 parser.HasFieldsEnclosedInQuotes = true; – 2014-11-07 09:53:37
自己动手吗?或者去使用filehelpers http://filehelpers.sourceforge.net/ – Pleun 2014-11-05 11:53:25
HasFieldsEnclosedInQuotes意味着你的值和引用如:“val,val2,val3”,“val4”,那么解析器将返回“val,val2,val4 “| “val4” – 2014-11-05 11:59:05
我不明白从目前的描述问题。您能否提供示例输入,预期输出和实际输出? – Dialecticus 2014-11-05 12:02:41