【发布时间】:2012-01-18 23:48:32
【问题描述】:
我有一个 csv 文件,我从中获取数据到一个表中。 例子: "ABC",1,"苹果" 要求是字符串将在配额“”内,整数将不带引号。 上面的行将分成三列。 我正在使用流阅读器类使用 line.split(',') 将行拆分为列。它工作正常不幸的是我在一个文件中有一个记录,在这些字符串引号之间有一个逗号 “ABC,DEF,ghi”,2,“橙色”。 因此,现在它们不再是 3 列,而是充当 5 列,并且所有转换都失败了。 任何人都可以帮助我用 C# 编写脚本,它将配额之间的逗号替换为分号,并且不要触摸列之间的逗号。
谢谢。
【问题讨论】:
-
你如何在这些字符串中转义
",或者你能期望它们不包含"? -
文件是否会发生变化,您可能需要创建一个定义文件标题布局的枚举。并检查我在上一个项目中完成的额外列,否则您将不得不在进行拆分后检查每个字符串的长度,因为 ABC、DEF、ghi" 应该分成 3 列而不是 1 列,你能按照我所说的去做吗.. 那么你必须将 DEF ghi 作为 ABC 的一部分