到目前为止,我尝试的是:
import csv
print "Dennis"
with open('Example1.csv', 'rb') as csvfile:
dialect = csv.Sniffer().sniff(csvfile.read(1024))
csvfile.seek(0)
reader = csv.reader(csvfile, dialect)
# ... process CSV file contents here ...
print reader
try:
for row in reader:
#print row
print row[0], row[1], row[2] #FAILS HERE
except csv.Error as e:
#skip
print "ended"
CSV lib似乎转换并打包转换后的数据,如下所示。你知道吗
['GB0002875804,ABIH RIAN TCO ORD,"191,560.00000"']
['GB0002374006,DIO ORD 28 101/108P,"440,274.00000"']
['GB00B03MLX29,ROY DUH ELL PLC,"310,437.00000"']
这类似于单个元素中的多个元素和单个数组元素中的单个元素。有什么好处?你知道吗
我希望得到如下转换。你知道吗
[GB0002875804,ABIH RIAN TCO ORD,"191,560.00000"]
[GB0002374006,DIO ORD 28 101/108P,"440,274.00000"]
[GB00B03MLX29,ROY DUH ELL PLC,"310,437.00000"]
这样我必须提取单个元素,然后提取分离的值。第二种方式是直接转换我想要的数据包中有没有一个以上的例子?你知道吗
非常感谢
丹尼斯
使用csvsniffer会混淆csv读取器。结果是整行没有被分成1个元素的列表。然后,当您尝试打印(访问)不存在的
row
元素时,会出现索引错误。你知道吗只需使用默认值并手动删除第一个元素中的
['
,以及最后一个元素中的逗号和']
。我的代码假设没有前导或尾随空格;去掉它们。你知道吗所以,有了这个文件:
这解决了你的问题(据我所知):
印刷品:
你不需要把这些列也写一遍吗?即:
相关问题 更多 >
编程相关推荐