Hi Ive本周开始学习python,并试图了解列表中的set方法。我已经看过帖子,但仍然停留。我正在尝试在csv文件的第5列中创建一组唯一值(如下)。我正在尝试使用set方法创建一个唯一列表,但一直在数据文件的各行中获得唯一值,而不是在csv文件的column5(Name5)下获得唯一值。我尝试了append函数,但是随后我获得了7行数据,并添加了前一行。我想要的输出只是第5列中唯一值的列表-请提供任何帮助
我得到的输出是红色蓝色蓝色蓝色红色红色绿色
我想要的时候
红色蓝色绿色
import csv
with open('Test_colours_in.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
# need to print unique values in column 5
my_list = {}
for line in csv_reader:
my_list = line['Name5']
print(set(my_list))
# csv file below
Name1,Name2,Name3,Name4,Name5,Name6,Name7,Name8
1,2,3,4,Red,6,7,8
1,2,3,4,Blue,6,7,8
1,2,3,4,Blue,6,7,8
1,2,3,4,Blue,6,7,8
1,2,3,4,Red,6,7,8
1,2,3,4,Red,6,7,8
1,2,3,4,Green,6,7,8
您可以尝试以下操作:
csv_reader = csv.DictReader(csv_file)
unique_vals = set([row['Name5'] for row in csv_reader])