【发布时间】:2009-08-18 04:30:39
【问题描述】:
我收到了一个有趣的 CSV 格式的大文件来解析成数据库。
分隔符是分号 (;)。如果其中一个字段包含分号,则通过用双引号将其“转义”,例如 ";"。
我确信永远不会有两个相邻的字段带有尾随/前导双引号,所以这种格式在技术上应该没问题。
现在,我正在考虑用 VBScript 解析它
- 用 GUID 替换
";"的每个实例, - 用分号将行分割成数组,
- 通过阵列返回,将 GUID 替换为
";"
这似乎是最快的方法。有没有更好的办法?我想我可以使用子字符串,但这种方法似乎是可以接受的......
【问题讨论】:
-
您打算将此信息存储在您的数据库中吗?
-
是的——这就是数据的发展方向。
-
我会指出,CSV 中的 C 代表“逗号”,这不是第一次了 - 如果您的分隔符不是逗号,那么您没有 CSV 数据。
-
如果数据字段包含
"字符会怎样??? -
如果您使用其中一种文本处理程序(OLEDB Jet Text 或 ODBC 文本桌面驱动程序),这可以通过使用 schema.ini 文件轻松处理。顺便说一句,我相信逗号是小数点的语言环境,CSV 文件使用分号作为字段分隔符。