python - 从 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))
解决方案
您可以使用DictReader
它将 csv 标头作为键映射到项目。然后,您可以使用集合推导来获取唯一日期列表并计算它们的长度。
import csv
with open('test.dat') as file:
reader = csv.DictReader(file, delimiter=',')
print(len({row['Date'] for row in reader}))
推荐阅读
- flutter - 如何在 android 应用程序中为所有用户同步 youtube 播放器?
- php - 如何调用foreach循环内的所有值
- swift - 在 Swift 中使用构造函数时,哪些类型使用默认零值进行初始化?
- django - 如何通过 nginx 提供动态 sitemap.xml?
- database - SQLite VACUUM:表(和索引)存储的连续性如何?
- r - 如何提示用户输入目录以保存下载以在 R Shiny 中使用 ggplot2?
- logstash - 为 Logstash 输出设置仪表板
- security - 我试图在带有规则的 hackthebox 的哈希上使用 hashcat,我每次都得到 Exhausted 的输出
- python - Qbittorrent Api 错误:AttributeError: 'Client' 对象没有属性 'download_from_link'
- html - 我怎样才能垂直对齐我的组件并连续 3 个?