导出CSV文件时在引号内处理逗号C#4。任何建议

时间:2011-04-06 14:07:48

标签: c# csv

大家好 我正在读一个csv文件,当字段中有逗号

时我遇到了问题

这一切都有效,直到我在逗号中输入逗号 所有字段都围绕着它。

             string delimiter=",";
         using (var sr = new StreamReader(fileName))
        {
                sr.ReadLine(); //skip headers
                while (!sr.EndOfStream)
                {
                   var readline = sr.ReadLine();
                   if (readline == null) continue;
                   var fields = readline.Split  (delimiter.ToCharArray());  
                 }
            }if I CANNOT split because of commas within quotation . How can I recode it?

我不能使用开源或第三方库。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

使用TextFieldParser课程。

MSDN上的描述是:

  

提供解析结构化文本文件的方法和属性。

它位于Microsoft.VisualBasic.FileIO命名空间中,因此不是第三方也不是开源。

它是一个托管类,因此您只需添加引用,导入命名空间并使用。

使用示例:

using(var fileReader = New TextFieldParser("C:\ParserText.txt"))
{
    fileReader.TextFieldType = FieldType.Delimited;
    fileReader.SetDelimiters(",");
    ...
}

答案 1 :(得分:0)

由于第三方图书馆已经出局,有一些选择(可能还有其他一些):

  • 自己编写引用感知的CSV阅读器
  • 使用ODBC - 请参阅最后一页here