基于C#开发数据排序程序的技术求助
批量数据去重合并与整理实现方案
核心需求
- 读取多份包含
ID、Length、Priority、ItemCode、Quantity、CompletedItem字段的原始数据文件 - 识别重复数据(通常以
ItemCode或多字段组合为判断依据) - 合并重复条目,累加对应
Quantity数值 - 输出排序后的整理结果
新手友好实现方案(Python)
步骤1:准备工具
先安装数据处理库,打开命令行执行:
pip install pandas openpyxl
(openpyxl用于读写Excel文件)
步骤2:完整代码示例
import pandas as pd import os # 替换为你的原始数据文件夹路径 data_dir = "./原始数据文件" # 存储所有读取到的数据 all_datasets = [] # 遍历文件夹读取所有csv/xlsx文件 for file_name in os.listdir(data_dir): if file_name.lower().endswith((".csv", ".xlsx")): file_path = os.path.join(data_dir, file_name) # 根据文件类型读取数据 if file_name.endswith(".csv"): df = pd.read_csv(file_path) else: df = pd.read_excel(file_path, engine="openpyxl") all_datasets.append(df) # 合并所有数据到一个表格 merged_data = pd.concat(all_datasets, ignore_index=True) # 按关键字段分组,累加Quantity(可根据需求修改分组字段,比如['ID', 'ItemCode']) cleaned_data = merged_data.groupby(['ItemCode'], as_index=False).agg({ 'ID': 'first', # 保留重复项中第一个出现的ID 'Length': 'first', # 保留第一个Length值 'Priority': 'first', # 保留第一个Priority值 'Quantity': 'sum', # 累加所有重复项的Quantity 'CompletedItem': 'first'# 保留第一个CompletedItem值 }) # 按需求排序(示例:按Priority降序、Quantity升序,可自行调整) sorted_data = cleaned_data.sort_values(by=['Priority', 'Quantity'], ascending=[False, True]) # 输出整理后的数据到Excel文件 sorted_data.to_excel("./整理完成的数据.xlsx", index=False, engine="openpyxl") print("数据整理完成!")
关键调整点
- 重复判断规则:如果需要多个字段联合判定重复(比如
ID+ItemCode),把groupby(['ItemCode'])改成groupby(['ID', 'ItemCode'])即可 - 排序规则:修改
sort_values里的字段列表和ascending参数,匹配你的需求 - 缺失值处理:如果原始数据有缺失,可在合并后添加
merged_data = merged_data.dropna()删除缺失行,或用merged_data.fillna(0)填充默认值
内容的提问来源于stack exchange,提问作者Damon
相关产品推荐
相关产品推荐

