如何使用StringGrouper对相似数据分组并将分组结果解析为JSON文件
StringGrouper分组结果导出为指定格式JSON实现方法
在你现有代码的基础上,按以下逻辑补充即可完成导出:
import pandas as pd import json from string_grouper import StringGrouper # 你的原有分组逻辑 string_grouper = StringGrouper(data['name'], ignore_index=True, min_similarity=0.83) string_grouper = string_grouper.fit() data['deduplicated_name'] = string_grouper.get_groups() # 若数据集没有内置id字段,可通过索引生成id if 'id' not in data.columns: data['id'] = data.index # 构造你需要的JSON结构 result = [] # 按去重后的组名聚合所有同组数据 for group_name, group_df in data.groupby('deduplicated_name', sort=False): # 每个分组的第一个元素为组统一名称,后续为组内数据条目 group_item = [group_name] for _, row in group_df.iterrows(): group_item.append({ "id": row['id'], "name": row['name'] }) result.append(group_item) # 导出为JSON文件 with open('similar_group_result.json', 'w', encoding='utf-8') as f: json.dump(result, f, ensure_ascii=False, indent=4)
ensure_ascii=False配置可避免中文导出时出现乱码,indent=4会生成格式化后的易读JSON,不需要格式化可以去掉该参数- 生成的文件完全匹配你要求的结构:外层为数组,每个子数组对应一个分组,子数组第一个元素为组的统一名称,后续为组内所有数据的id、name对象
内容的提问来源于stack exchange,提问作者Victoria diana
相关产品推荐
相关产品推荐

