tjm*_*gis 5 python csv double-quotes
我有一个包含这样数据的CSV文件
15,"I",2,41301888,"BYRNESS RAW","","BYRNESS VILLAGE","NORTHUMBERLAND","ENG"
11,"I",3,41350101,2,2935,2,2008-01-09,1,8,0,2003-02-01,,2009-12-22,2003-02-11,377016.00,601912.00,377105.00,602354.00,10
Run Code Online (Sandbox Code Playgroud)
我正在读这个,然后将不同的行写入不同的CSV文件.
但是,在原始数据中,非数字字段周围有引号,因为其中一些字段在字段中包含逗号.
我无法保留报价.
我已经研究了很多并且发现了quoting=csv.QUOTE_NONNUMERIC现在这导致每个领域都有引号,我不知道为什么?
如果我尝试其中一个其他引用选项,如MINIMAL,我最终得到一个关于日期值的错误消息,2008-01-09,不是浮动.
我试图创建一个方言,在csv阅读器和编写器上添加引用,但我没有尝试过与原始数据完全匹配的结果.
任何人都有同样的问题,并找到了解决方案.
写作时,quoting=csv.QUOTE_NONNUMERIC只要它们是数字,就保持值不加引号,即.如果他们的类型是int或float(例如),这意味着它将写出你期望的.
你的问题可能是,阅读时,一csv.reader会变成每一行读取到list的字符串(如果你阅读文档不够仔细,你会看到一个阅读者不执行自动数据类型转换!
如果你在阅读后没有进行任何类型的转换,那么当你写作时,你最终会把所有内容都放在引号上......因为你写的所有内容都是字符串.
编辑:当然,日期字段将被引用,因为它们不是数字,这意味着您无法使用标准获得确切的预期行为csv.writer.
| 归档时间: |
|
| 查看次数: |
4308 次 |
| 最近记录: |