我有一个包含120万条文本记录的csv文件。其中字母数字字段用引号括起来,日期/时间或数值字段不用。
例如 "Fred","Smith",01/07/1967,2,"7, The High Street","Anytown","Anycounty","LS1 7AA"
我想在Excel中编写一些VBA代码(这是我唯一熟练使用的工具),逐条读取CSV记录,执行检查(实际上是对最后一个字段“邮政编码”进行检查),然后将1.2m记录的一个小子集输出到新的输出文件中。
我知道如何打开两个文件、读取记录、对数据进行处理并将其写出(我只需输出带有表示异常类型的前缀的输入记录)。
但我不知道如何在VBA中正确解析CSV。我不能简单地扫描文本并搜索逗号,因为文本中有时会有逗号(这就是为什么文本字段是以文本限定符为界定符的原因)。
是否有一个神奇的命令可以让我快速获取记录中第n个字段的数据?
我想要的是 s_work = field(s_input_record,5),其中5是CSV中的字段号。
非常感谢, C