如何在csv数据列上使用Python set方法?

问题描述 投票:0回答:1

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
python list set
1个回答
0
投票

您可以尝试以下操作:

csv_reader = csv.DictReader(csv_file)
unique_vals = set([row['Name5'] for row in csv_reader])
© www.soinside.com 2019 - 2024. All rights reserved.