我正在打开一个csv文件并将其插入列表中。我也忽略了文件的第一行,因为它不需要:
with open('test.csv', 'rb') as f:
next(f,None)
reader = csv.reader(f)
a_list = map(tuple, reader)
print a_list
输出为:[('1,'hi','you'),('2','bye','bye')]
但是,不需要每个元组的第一个元素。我做了足够的研究,知道我无法操纵元组,但我似乎无法找到答案如何成功删除a_list中每个元组的第一个元素。谢谢你
答案 0 :(得分:8)
首先,元组是不可变的。
其次尝试这种方法:
a_list = [el[1:] for el in map(tuple, reader)]
列表理解更可取:
a_list = [el[1:] for el in (tuple(x) for x in reader)]
答案 1 :(得分:0)
如果不需要元组,则可以使用以下列表解析:
with open('test.csv', 'rb') as f:
next(f,None)
reader = csv.reader(f)
a_list = [cols[1:] for cols in reader]
print a_list
这将打印以下内容:
[['hi', 'you'], ['bye', 'bye']]