python csv模块中是否有一个内置方法来枚举特定列的所有可能值?

python csv模块中是否有一个内置方法来枚举特定列的所有可能值?,csv,python-3.x,Csv,Python 3.x,我有一个csv文件,其中有许多列。现在我的要求是找到该特定列中存在的所有可能值 python中是否有任何内置函数可以帮助我获取这些值。我会使用一个函数来实现这一点 假设csv文件是这样的,我们只需要第二列中的唯一值 foo,1,bar baz,2,foo red,3,blue git,3,foo 下面是实现这一点的代码。我只是打印出唯一的值来测试它是否有效 导入csv def parse_csv_文件(rawCSVFile): fileLineList=[] 将open(rawCSVFile,

我有一个csv文件,其中有许多列。现在我的要求是找到该特定列中存在的所有可能值

python中是否有任何内置函数可以帮助我获取这些值。

我会使用一个函数来实现这一点

假设csv文件是这样的,我们只需要第二列中的唯一值

foo,1,bar
baz,2,foo
red,3,blue
git,3,foo
下面是实现这一点的代码。我只是打印出唯一的值来测试它是否有效

导入csv
def parse_csv_文件(rawCSVFile):
fileLineList=[]
将open(rawCSVFile,换行符=“”)作为csvfile:
reader=csv.reader(csvfile)
对于读取器中的行:
fileLineList.append(行)
返回文件行列表
def main():
uniqueColumnValues=set()
fileLineList=parse_csv_文件('sample.csv')
对于fileLineList中的行:
uniqueColumnValues.add(第[1]行)#在此处选择第二列。
打印(唯一列值)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
一次计算所有行的唯一值的方法过于“聪明”(假设所有列的大小相同,但它无缝地忽略了空行):

它使用
zip(*csvin)
进行表格旋转(将正常的一次一行输出转换为一次一列),然后使用
set
对每列进行唯一化,并(对于尼斯输出)对其进行排序。

您可以告诉我们

示例文件
many_cols.csv

col1,col2,col3
1,10,100
1,20,100
2,10,100
3,30,100
查找每列的唯一值:

>>> import pandas as pd
>>> df = pd.read_csv('many_cols.csv')
>>> df.col1.drop_duplicates().tolist()
[1, 2, 3]
>>> df['col2'].drop_duplicates().tolist()
[10, 20, 30]
>>> df['col3'].drop_duplicates().tolist()
[100]
对于所有列:

import pandas as pd

df = pd.read_csv('many_cols.csv')

for col in df.columns:
    print(col, df[col].drop_duplicates().tolist())
输出:

col1 [1, 2, 3]
col2 [10, 20, 30]
col3 [100]

问题不清楚:您有许多列,您想找到“that”列中存在的所有可能值吗?哪个栏目?你有many@Ramast我已经修改过了。@Apoorvasahay下面的答案是否为您提供了解决方案?如果是,请选择一个作为答案。
col1 [1, 2, 3]
col2 [10, 20, 30]
col3 [100]