如何在Python中枚举.csv文件?
我有一个名为 byCCD.csv 的文件,里面的内容像这样:
1,2014-08-18,India,3
1,2014-08-18,United States,2
1,2014-08-24,India,2
1,2014-08-24,United States,0
我写了一个 Python 函数来解析这个 .csv 文件。
def parseCCDfile():
with open('byCCD.csv', 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for id, d, ccd, cnt in enumerate(row):
# logic for parsing the file
但是我遇到了一个错误:ValueError: 需要更多的值来解包。请帮我解决这个问题。
1 个回答
6
你已经在逐行处理数据了,所以不需要再逐列处理。
把这一行去掉:
for id, d, ccd, cnt in enumerate(row):
因为逐行处理时,每次只会产生一个值,还有一个enumerate()
的索引。
你可以在另一个循环中直接把这些值赋值:
for r, (id, d, ccd, cnt) in enumerate(reader):
或者使用元组赋值:
for r, row in enumerate(reader):
id, d, ccd, cnt = row