如何用Python统计文本文件中以P开头的唯一字符串出现次数
用Python统计文本文件中以P开头的唯一字符串出现次数
问题说明
需要从文本文件中提取所有以P开头的子串,统计每个唯一子串的出现次数。这些子串可能连在一起、分布在文件的多行或多列中。
示例输入
P000013BP000005BP000010BP000045B P000013BP000045BP000011A IA1
预期输出
P000013B 2 P000005B 1 P000010B 1 P000045B 2 P000011A 1
实现代码
import re from collections import Counter def count_p_prefix_entries(file_path): # 读取文件全部内容,处理跨行情况 with open(file_path, 'r', encoding='utf-8') as file: full_content = file.read() # 匹配所有以P开头、直到下一个P或字符串结束的子串 p_pattern = r'P[^P]+' matched_strings = re.findall(p_pattern, full_content) # 统计每个子串的出现次数 count_stats = Counter(matched_strings) # 按要求格式输出结果 for string, count in count_stats.items(): print(f"{string} {count}") # 替换为你的目标文件路径 count_p_prefix_entries("target_file.txt")
代码说明
- 读取文件全部内容:避免逐行处理时遗漏跨行的子串
- 正则表达式
r'P[^P]+':精准匹配以P开头的子串,遇到下一个P就停止,刚好拆分出所有目标子串 Counter工具:简洁高效地完成频次统计,无需手动维护字典计数- 格式输出:直接遍历统计结果,按照
子串 次数的格式打印
内容的提问来源于stack exchange,提问作者siva arumugam
相关产品推荐
相关产品推荐

