You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何读取文本文件中变长空格分隔数据并完成解析统计

你当前使用的csv.reader默认以逗号作为分隔符,读取空格分隔的文件会把整行内容识别为单个元素,首先需要调整分隔符配置,再进行后续统计计算,完整实现代码如下:

import csv
from collections import Counter

file = open('data.txt', 'r', encoding='utf-8')
# 指定分隔符为空格
csvreader = csv.reader(file, delimiter=' ')
# 跳过第一行
next(csvreader)

all_nums = []
rows = []
for row in csvreader:
    # 过滤拆分出的空字符串,转成整数
    clean_row = [int(num) for num in row if num.strip()]
    if clean_row:
        rows.append(clean_row)
        all_nums.extend(clean_row)
file.close()

# 统计每个数据的出现次数
count_result = Counter(all_nums)

# 1. 输出唯一数据总个数
print(f"唯一数据总个数:{len(count_result.keys())}")

# 2. 输出每个数据的出现次数
print("每个数据的出现次数:")
for num, cnt in count_result.items():
    print(f"count data ({num})={cnt}")

# 3. 输出读取的总行数
print(f"读取的总行数:{len(rows)}")

# 4. 输出按出现次数降序排序结果
print("按数据出现次数降序排序结果:")
sorted_res = sorted(count_result.items(), key=lambda x: x[1], reverse=True)
for num, _ in sorted_res:
    print(f"data ({num})")

如果不想引入Counter,也可以自行初始化字典遍历all_nums统计次数,逻辑完全一致。

内容的提问来源于stack exchange,提问作者SeekKnowledge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:00