如何在Python中枚举.csv文件?

2 投票
1 回答
3437 浏览
提问于 2025-04-18 18:27

我有一个名为 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

撰写回答