我想从CSV文件导入数据,但某些单元格在字符串值中包含逗号。我怎样才能识别哪个逗号是分开的,哪些在单元格内容中?从CSV文件导入字符串单元格中的逗号
回答
使用TextFieldParser:使用
using Microsoft.VisualBasic.FileIO; //Microsoft.VisualBasic.dll
...
using(var csvReader = new TextFieldParser(reader)){
csvReader.SetDelimiters(new string[] {","});
csvReader.HasFieldsEnclosedInQuotes = true;
fields = csvReader.ReadFields();
}
非常好,谢谢。 –
除非你对字符串进行了引号,否则你会非常困惑,因此“引号和逗号”分隔符风格。如果您有对出口设施的控制权,那么您必须选择“附上字符串引号”或将分隔符更改为波浪符号或克拉符号。
如果不好,那么你必须写一些代码。如果你检测到“a..z”,然后开始计算逗号,然后继续工作直到检测到[0..9],即使这样会有问题,因为人们可以在其中放置一个[0..9]文本。在最好这将是一个最好的努力过程。你将不得不知道你什么时候在使用字符,什么时候你不会进入字符。我怀疑甚至正则表达式会在这方面帮助你很多。
我能想到的唯一的其他事情就是运行数据并查找逗号。然后查看逗号前后的内容。如果您被字符包围,则用克拉“^”符号或代字符“〜”替代逗号。然后正常处理该文件,然后返回并用逗号替换备用字符。
祝你好运。
那些包含“^”或“〜”字符的字符串值如何? –
这里没有解决方案将是完美的。我发现在西方字符集中,颚化符号非常罕见,就书面英语而言,逗号的使用远远更为普遍。现在我的解决方案可能会有问题,这取决于三元组指标,但是要做什么,只能通过所给出的数据来完成。 – FlyingGuy
在一般情况下,不要打扰自己写的进口。
我对FileHelpers lib有很好的经验。 http://www.filehelpers.com/
事实上,我希望你的领域被引用。 Filehelpers支持开箱即用。
否则你可以做的事情不多。
使用FileHelper是defnitley的路要走。他们为你建立所有的逻辑做了很好的工作。我有同样的问题,我不得不解析一个逗号作为该领域的一部分的CSV文件。这个工具很好地完成了这项工作。所有你需要做的是对使用fillowing属性到外地
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
详情http://www.filehelpers.com/forums/viewtopic.php?f=12&t=391
- 1. 从datagridview导出空单元格到csv逗号分隔文件
- 2. 导入CSV和逗号的字符串值
- 3. 使用逗号导入csv文件Asp.net
- 4. 空单元格vs导入文件中的空字符串
- 5. 从csv中的'用逗号'字符串中删除双引号
- 6. 问题与导入CSV使用PHP由于逗号字符串
- 7. 在CSV文件中添加一个逗号的字符串python
- 8. CSV文件中的逗号逗号
- 9. 入门从CSV文件摆脱逗号?
- 10. 用逗号和双引号在Python中的单元格中编写csv文件
- 11. 如何从csv文件中获取某些单元格包含逗号的值?
- 12. 将包含逗号和双引号的字符串写入CSV
- 13. 需要将字符串以逗号正确地导出到CSV文件中
- 14. PHP将逗号分隔的字符串转换为CSV文件
- 15. 从csv单元格中的字符串到字典
- 16. 如何在字符串Python 2.7中以.csv文件格式转义逗号
- 17. 处理逗号字符串CSV
- 18. 如何区分excel单元格中的逗号与CSV中的逗号
- 19. 配置单元格查询逗号分隔字符串包含字符串
- 20. 以CSV格式显示逗号而不使用逗号字符
- 21. 将表格导出为CSV - 将字符串格式化问题导入到单独的单元格中
- 22. 从字符串而不是从文件导入Csv?
- 23. 从.csv列字段中删除逗号并导入到db
- 24. 从.csv文件导入字符串形成路径的问题
- 25. 从CSV导入删除¶-符号导入
- 26. 导入CSV文件时处理逗号和撇号
- 27. PHP逗号分隔字符串数组导出为CSV
- 28. 从逗号分隔的数字导入逗号分开数字
- 29. CSV字符串转换为字符串空格代替逗号在PHP
- 30. Magmi在CSV文件中包含逗号时无法导入
复制 - http://stackoverflow.com/questions/769621/dealing-with-commas-in-a -csv-file –