【发布时间】:2021-12-07 17:23:07
【问题描述】:
我有一个逗号分隔的文件,其中还包含实际字段值中的逗号,如下所示:
foo,bar,"foo, bar"
这个文件非常大,所以我想知道在 python 中是否有一种方法可以在任何字段周围加上双引号:
eg: "foo","bar","foo, bar"
还是只是整体更改分隔符?
eg: foo|bar|foo, bar
最终目标: 目标是最终将此文件加载到 sql server 中。鉴于文件批量插入的大小是唯一可行的加载方法,但由于我拥有的 ssms 版本,我无法指定文本限定符/字段引用。
这让我相信唯一剩下的方法是对源文件进行一些预处理。
【问题讨论】:
-
我确信任何一个都可以用 Python 完成。
-
csv.reader 有一个quote character 参数。如果您指定
quotechar='"'它应该将"foo,bar"视为单个列。 -
你为什么关心不一致的引用?您的文件仅在必要时使用它们;添加更多只会增加文件大小。
-
目标是最终将此文件加载到 sql server 中。鉴于文件批量插入的大小是唯一可行的加载方法,但由于我拥有的 ssms 版本,我无法指定文本限定符/字段引用。
标签: python csv qualifiers