我试图使用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
答案 0 :(得分:1)
假设您在第import csv
行上方提供了数据示例,您的数据似乎以逗号分隔,但您要设置CSV阅读器以期望制表符分隔数据(dialect=csv.excel_tab
)。< / p>
如果将该行更改为:
会发生什么data = csv.reader(csvfile, dialect=csv.excel)