Python实现读取文本文件并按日期分组统计条目数量
自动统计文本文件中各日期的记录条数
嘿,我懂你现在的痛点——之前每次要手动修改日期变量才能统计对应记录,太费时间了对吧?其实用几个简单的工具就能自动搞定所有日期的记录数统计,给你两个实用的方案:
方案1:用终端命令(最快最省事)
假设你的文本文件名叫records.txt,直接在终端里跑这条命令就行:
awk '{print $1}' records.txt | sort | uniq -c | awk '{print $2 " 有 " $1 " 条记录"}'
我给你拆解下每一步的作用:
awk '{print $1}' records.txt:提取每行的第一个字段(也就是你要的日期)sort:把所有日期排序,让相同的日期集中在一起uniq -c:统计每个日期出现的次数,输出格式是「次数 日期」- 最后一个
awk:把格式转换成你想要的「日期 有 X 条记录」
举个例子,用你提供的示例文本,运行后会输出:
27.03.18 有 4 条记录
28.03.18 有 2 条记录
方案2:用Python脚本(适合后续扩展功能)
如果之后你需要对统计结果做更多处理(比如存到数据库、生成报表),用Python写个小脚本会更灵活:
from collections import defaultdict # 记得把这里替换成你的文件实际路径 file_path = "records.txt" date_counts = defaultdict(int) # 逐行读取文件统计日期 with open(file_path, 'r') as f: for line in f: # 提取每行开头的日期(按空格分割取第一个元素) date = line.strip().split()[0] date_counts[date] += 1 # 按要求格式输出结果 for date, count in date_counts.items(): print(f"{date} 有 {count} 条记录")
这个脚本会自动遍历文件里的每一行,统计每个日期的出现次数,最后输出你要的格式。
内容的提问来源于stack exchange,提问作者Billy Nor
相关产品推荐
相关产品推荐

