python - 如何使用 CSV 文件的唯一值在 Python 中创建列表?

标签 python list csv unique

我有如下所示的 CSV 文件,

1994, Category1, Something Happened 1
1994, Category2, Something Happened 2
1995, Category1, Something Happened 3
1996, Category3, Something Happened 4
1998, Category2, Something Happened 5

我想创建两个列表,

Category = [Category1, Category2, Category3]

Year = [1994, 1995, 1996, 1998]

我想省略列中的重复项。我正在阅读文件如下,

DataCaptured = csv.reader(DataFile, delimiter=',')  
DataCaptured.next()

和循环,

   for Column in DataCaptured:

最佳答案

你可以这样做:

DataCaptured = csv.reader(DataFile, delimiter=',', skipinitialspace=True) 

Category, Year = [], []
for row in DataCaptured:
    if row[0] not in Year:
        Year.append(row[0])
    if row[1] not in Category:
        Category.append(row[1])    

print Category, Year        
# ['Category1', 'Category2', 'Category3'] ['1994', '1995', '1996', '1998']

如评论中所述,如果顺序无关紧要,使用集合会更容易和更快:

Category, Year = set(), set()
for row in DataCaptured:
    Year.add(row[0])
    Category.add(row[1])

关于python - 如何使用 CSV 文件的唯一值在 Python 中创建列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24441606/

相关文章:

python - Django 多实例/内联字段

python - 捕获文件名

java - 设置列表的第一个元素

csv - 将多个 SAS 数据集批量转换为 CSV 文件

scala - 将Scala中的CSV读取到具有错误处理的案例类实例中

python - 按列的子字符串对 Pandas Dataframe 进行排序

python - 岭回归梯度下降函数有什么问题?

python - Python中重复列表中的数据处理

arrays - 如何在Kotlin中将多维数组转换为多维列表?

java - 使用与 gson 的 csv-headers 不同的属性名称将 csv-table 映射到 json 的简单方法?