如何在python中枚举一个.csv文件?

pra*_*tas 1 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
Run Code Online (Sandbox Code Playgroud)

我有一个 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
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:ValueError: 需要 2 个以上的值来解包 请帮助纠正这个问题

Mar*_*ers 5

您已经在遍历每一行,也不需要遍历

删除该行:

for id, d, ccd, cnt in enumerate(row):
Run Code Online (Sandbox Code Playgroud)

因为循环遍历行一次产生一个值,加上enumerate()索引。

您可以改为在另一个循环中分配这些值:

for r, (id, d, ccd, cnt) in enumerate(reader):
Run Code Online (Sandbox Code Playgroud)

或使用元组分配:

for r, row in enumerate(reader):
    id, d, ccd, cnt = row
Run Code Online (Sandbox Code Playgroud)