我有一个文本文件,格式是逗号分隔的,大多数字段使用"
作为定界符。 我想将其转换为可以枚举的形式(例如泛型集合)。 我无法控制文件输出的方式或用于分隔符的字符。
在这种情况下,字段由逗号分隔,文本字段用"
括起来。 我遇到的问题是有些字段中有引号(例如8"
Tray),并且被错误地认为是下一个字段。 对于数字字段,它们没有引号,但以+或-符号开头(表示正/负数)。
我考虑使用正则表达式,但我的技能不太好,希望有人能提出一些我可以尝试的想法。 这个文件中有大约19,000条记录,所以我尽可能高效地处理它。以下是几个示例数据行:
"00","000000112260 ","Pie Pumpkin ","RET","6.99 "," ","ea ",+0000000006.99000
"00","000000304078 ","Pie Apple caramel ","RET","9.99 "," ","ea ",+0000000009.99000
"00","StringValue here","8" Tray of Food ","RET","6.99 "," ","ea ",-00000000005.3200
虽然字段还有很多,但你可以了解清楚...
我正在使用VB.NET,并且已经设置了一个泛型列表来接受数据。我尝试使用CSVReader,它似乎工作得很好,直到遇到第三个记录(其中包含一个引用的文本字段)。如果我能以某种方式处理额外的引号,那么CSVReader选项将非常有效。
谢谢!