读取 CSV 文件时:
with open("foo.csv") as foo:
for (a,b) in csv.reader(foo):
....
我得到了错误
ValueError: too many values to unpack
当文件包含多于两列时。
有没有办法解包前两列并忽略其余列?
我觉得我可以
with open("foo.csv") as foo:
for row in csv.reader(foo):
a,b = row[0:2]
....
但这看起来很丑。
附言。如果重要的话,我正在使用 python2。
最佳答案
使用生成器:
with open("foo.csv") as foo:
for a,b in (r[0:2] for r in csv.reader(foo)):
...
这更清楚地显示了您的意图。它基本上等同于您“丑陋”的做法,但看起来更容易。
关于python - 只从 CSV 阅读器中解压前几列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659006/