【发布时间】:2016-10-20 02:31:43
【问题描述】:
我有这段代码可以将一个复杂的 CSV 文件拆分成多个块。难点是逗号也可能出现在“”中,因此不能将它们分开。我用来查找不在“”中的逗号的正则表达式工作正常:
comma_re = re.compile(r',(?=([^"]*""[^"]*"")*[^"]*$)')
演示:here
import re
test = 'Test1,Test2,"",Test3,Test4"",Test5'
comma_re = re.compile(r',(?=([^"]*""[^"]*"")*[^"]*$)')
print comma_re.split(test)
输出:
['Test1', 'Test2,"",Test3,Test4""', 'Test2', '"",Test3,Test4""', '"",Test3,Test4""', None, 'Test5']
期望:
['Test1', 'Test2', '"",Test3,Test4""', 'Test5']
如何避免无用的拆分结果?
编辑:我什至不知道默认的 CSV 模块,继续使用它。感谢您的努力!
【问题讨论】:
-
试过 CSV 模块了吗?
-
还没有,唯一困难的部分就是拆分,剩下的我要做的很简单......
-
用正则表达式解析 csv 文件是个坏主意。只需使用为此构建的 csv 模块
标签: python regex csv split match