首页 > 解决方案 > 从 CSV 文件中,连续计算唯一值并使用 python 打印总数

问题描述

我是 Python 新手,我有一个 CSV 文件,看起来像这样:

Date, Profit
02/2019 , 100
03/2019 , 410
03/2019 , 300
04/2019 , 200

我需要在 Python 中编写一个代码来打印文件中有多少个唯一日期

这是我到目前为止所拥有的,但它只打印 #1

import os
import csv

with open('budget_data.csv') as file:
    reader = csv.reader(file,delimiter=',')

    t_dates = [1]
    for row in reader:
        if row[0] not in row:
            t_dates.append(row[0])

    print(len(t_dates))

标签: pythoncsv

解决方案


您可以使用DictReader它将 csv 标头作为键映射到项目。然后,您可以使用集合推导来获取唯一日期列表并计算它们的长度。

import csv

with open('test.dat') as file:
    reader = csv.DictReader(file, delimiter=',')
    print(len({row['Date'] for row in reader}))

推荐阅读