不使用 Pandas Python 中 CSV 文件所有列的唯一元素

Unique elements of all the columns of CSV file in Python without using Pandas

我正在尝试获取 CSV 中所有列的唯一值。我正在获取列号并为所有列创建集合,并尝试遍历 csv 数据并找到唯一的列。但是第二个循环只执行一次。

decoded_file = data_file.read().decode('utf-8')
reader = csv.reader(decoded_file.splitlines(),
                            delimiter=',')
list_reader = list(reader)
data = iter(list_reader)
next(data) #skipping the header
col_number = len(next(data))
col_sets = [set() for i in range(col_number)]

for col in range(col_number):
   for new_row in data:
       col_sets[col].add(new_row[col])
   print(col_sets[col])

我需要获取每列的所有唯一值并将其添加到 col_sets 以访问它。最好的方法是什么?

一切都很好,但你应该改变迭代的顺序。


for new_row in data:
    for col in range(col_number):
        col_sets[col].add(new_row[col])
print(col_sets)