csv文件到元组列表 - 不包括某些列

时间:2016-09-22 09:37:29

标签: list python-3.x csv tuples

我需要从.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。有没有办法防止每行中的某些列被复制。

1 个答案:

答案 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)