编写/解析具有未知列数的CSV的库

时间:2013-04-02 11:12:29

标签: c# parsing csv filehelpers

我正在尝试遵循每个人的建议并使用库来满足我的CSV写入/解析需求。但是最推荐的FileHelpers需要一个列映射类。但是,我只需要读取单行逗号分隔值,然后再解析它们。我找不到以这种简单方式使用FileHelpers或其他库的方法。

例如,我将String testInput = "\"yoyo\",\"yaya\",\"te\"\"st\"";作为输入,并希望将其解析为String[],其值为yoyoyayate"st。< / p>

此外,我需要做相反的事情,将值写回字符串,如"yoyo","yaya","te"st"

是否有人知道可以执行此操作的库或我如何使用FileHelpers这样做?

由于xml字段中涉及的“垃圾”字符数量(带宽/存储限制),我真的不想做xml。

3 个答案:

答案 0 :(得分:2)

CSV reader on code project应该处理;只需关闭文件标题,然后逐行使用new StringReader(line)

答案 1 :(得分:2)

Microsoft.VisualBasic.FileIO.TextFieldParser应该可以完成这项工作,ReadFields method定义为:

  
    
      

读取当前行的所有字段,将它们作为字符串数组返回,并将光标前进到包含数据的下一行。

    
  

我找到了很好的例子here

至于写CSV,我会使用stackoverflow上找到的不同方法。它似乎是最简单的方法,不需要导入3 rd 派对扩展。

答案 2 :(得分:0)

对于给定的输入/输出,您可以做到简单(无文件读取,对象创建......):

    string testInput = "\"yoyo\",\"yaya\",\"te\"\"st\"";
    string[] values = testInput.Split(",");

    string valuesBack = values.Join(",");