如何合并元组键字符串并保留频次值转换为DataFrame导出CSV
问题原因
你之前的代码仅遍历了字典的键进行字符串拼接,没有同步获取键对应的次数值,因此丢失了计数数据。
实现方案
方案1:使用pandas(推荐,适合后续数据处理)
代码如下:
import pandas as pd # 替换为你自己的原始计数字典 phrase_count_dict = { ('technology', 'company', 'provides'): 2, ('various', 'industries.', 'company'): 2, ('provides', 'software', 'solutions'): 2, ('life', 'health', 'insurance'): 2 } # 构造DataFrame df = pd.DataFrame( [[' '.join(key), count] for key, count in phrase_count_dict.items()], columns=['短语', '出现次数'] ) # 可选:按出现次数从高到低排序 df = df.sort_values(by='出现次数', ascending=False) # 导出为CSV,utf-8-sig编码适配Windows下Excel打开不乱码 df.to_csv('triple_phrase_count.csv', index=False, encoding='utf-8-sig')
执行后得到的df就是你要求的表结构,导出的CSV可直接打开查看完整列表。
方案2:使用Python内置csv模块(无需安装第三方依赖)
代码如下:
import csv # 替换为你自己的原始计数字典 phrase_count_dict = { ('technology', 'company', 'provides'): 2, ('various', 'industries.', 'company'): 2, ('provides', 'software', 'solutions'): 2, ('life', 'health', 'insurance'): 2 } with open('triple_phrase_count.csv', 'w', newline='', encoding='utf-8-sig') as f: writer = csv.writer(f) # 写入表头 writer.writerow(['短语', '出现次数']) # 逐行写入数据 for key, count in phrase_count_dict.items(): writer.writerow([' '.join(key), count])
内容的提问来源于stack exchange,提问作者Matt Solomon
相关产品推荐
相关产品推荐

