Python CSV库返回1项而不是项列表

时间:2015-02-25 02:38:37

标签: python list csv

我试图使用CSV库进行一些Excel处理,但是当我使用下面发布的代码时,row将整个数据作为1项返回,因此row [0]返回整个文件并且row [1]返回指数超出范围。有没有办法让每一行都成为一个列表,每个单元格都是一个项目?使最终产品成为列表清单。我想在每次使用拆分时都是一个紧密的支架']' 。如果需要,我可以发布excel文件

下面是一些输出的样本。这是列表中的所有项目:

['3600035671,"$13,668",8/11/2008,8/11/2013,,,2,4A,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,']
['3910435005,"$34,872",4/1/2010,10/8/2016,,,2,4A,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,']
['5720636344,"$1,726",8/30/2010,9/5/2011,,,3,6C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,']
['15260473510,"-$1,026,580",7/22/2005,3/5/2008,,,6,1C2A,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,']


import csv    
csvfile = open('Invictus.csv', 'rU')
data = csv.reader(csvfile, dialect=csv.excel_tab)    
for char in data:
    char = filter(None, char)
    print char

1 个答案:

答案 0 :(得分:1)

假设您在第import csv行上方提供了数据示例,您的数据似乎以逗号分隔,但您要设置CSV阅读器以期望制表符分隔数据(dialect=csv.excel_tab)。< / p>

如果将该行更改为:

会发生什么
data = csv.reader(csvfile, dialect=csv.excel)