【发布时间】:2015-12-15 01:59:55
【问题描述】:
我正在使用 Microsoft.VisualBasic.FileIO.TextFieldParser 解析 CSV 数据。与我发现的用于解析 CSV 的免费软件库相比,它非常好。它做了我认为它应该 WRT CSV 的所有事情,除了它不保留用引号括起来的字段的前导/尾随空格。好吧,如果我将 TrimWhiteSpace 设置为 false,它会这样做,但是它不会修剪字段中的空格 not 括在引号中。对于 CSV,我希望它修剪未引用的字段而不修剪引用的字段。
这就是我使用课程的方式:
var parser = new TextFieldParser(textReader) {Delimiters = new[] {","}};
//TrimWhiteSpace is true by default
var row1 = _textFieldParser.ReadFields();
var row2 = _textFieldParser.ReadFields();
考虑这些数据:
1 , 2
" 1 ", " 2 "
对于 TrimWhiteSpace==true,row1 和 row2 都是 ["1", "2"]。 对于 TrimWhiteSpace==false,row1 和 row2 都是 [" 1 ", " 2 "]。
我想要的是 row1==["1", "2"] 和 row2==[" 1 ", " 2 "]。
【问题讨论】:
-
我阅读了文档并搜索了网络(我认为这个网站不用多说)。正如我所描述的,我使用库尝试了各种代码组合。你在说什么?你认为这不是一个好问题吗?
-
在寻找相同答案时偶然发现了这一点。已将 @EngineerDollery 的最后一条评论标记为删除,因为它违反了 SO 的行为准则,我希望他们能够基于他们向史蒂夫提供“建议”而意识到这一点......
标签: csv textfieldparser