我需要从.csv文件创建元组列表。在另一篇文章中,一位成员建议使用此代码:
import csv
with open('movieCatalogue.csv') as f:
data=[tuple(line) for line in csv.reader(f)]
data.pop(0)
print(data)
这几乎是完美的。除了.csv文件中的第一列包含我在元组中没有的产品ID。有没有办法防止每行中的某些列被复制。
答案 0 :(得分:0)
首先,我认为您正在使用data.pop(0)
删除标题行。您可以在阅读时跳过保存列表dealloc / move。
然后,当你编写你的元组时,只需使用子列表语法删除第一个元素:line[start:stop:step]
,从索引0开始。
import csv
with open('movieCatalogue.csv') as f:
cr = csv.reader(f)
# drop the first line: better as next(f)
# since it works even if the title line is multi-line!
next(cr)
data=[tuple(line[1:]) for line in cr] # drop first column of each line
print(data)