你的标题问:什么是清洁的不可分析的CSV文件
如果它是不可解析一个简单的方法,这意味着你不能正确地把它分解成多个领域。所以你不能清理它。
您的第一句话是:csv文件已正确创建,但名称和地址字段包含可用的每一个标点符号。
如果csv文件创建正确,那么你可以正确地将其分割成字段。所以你可以清理它。
只有标点符号?你很幸运。数据库中未经验证的文本字段通常包含像选项卡,回车,换行符,甚至Ctrl-Z之类的废话。
谁说这是“不可分割的”?基于什么理由?他们对“可解析”的定义是什么?
谁说这是“正确创建”?基于什么理由?他们对“正确”的定义是什么?
请问您可能向我们展示引起您悲伤的说5行左右的相关部分?编辑您的问题并将示例格式化为代码,以使其更易于阅读。显而易见,上一个/下一个字段停止/开始的位置
...,"john ""," doe",...
顺便说一下,上述内容在任何解释下都不是“正确”的;它不可能是正确的,具有奇数字符的引号字符都不会被转义。
我的正确定义:这里是如何发出CSV字段,可不管是在数据库[警告:在'\ x00' 的Python的CSV模块barfs]:解析
if '"' in field:
output = '"' + field.replace('"', '""') + '"'
elif any of comma, line feed, carriage return in field: # pseudocode
output = '"' + field + '"'
else:
output = field
你能使用其他分隔符重新导出数据? – 2011-05-30 04:03:43
我要拒绝该文件,并让供应商重新发送为制表符分隔。 – cmptrwhz 2011-05-30 04:26:38
从Python的禅宗('进口这个')。 “面对歧义,拒绝猜测的诱惑。” – 2011-05-30 04:45:38