Python合并CSV文件相同日期和编码的销量数据
使用Python合并CSV文件中相同日期和编码的销量数据
本文将介绍如何使用Python处理SUM.csv文件,将相同销售日期、单品编码和销售类型的销量(千克)数据进行合并,并将结果保存到SUMsmall.csv文件中。
以下Python代码示例演示了如何实现此目标:
import csv
# 打开SUM.csv文件和SUMsmall.csv文件
with open('SUM.csv', 'r') as csvfile, open('SUMsmall.csv', 'w', newline='') as outfile:
reader = csv.DictReader(csvfile)
writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames)
writer.writeheader()
# 创建一个字典来存储每个销售日期和单品编码的销量总和
sales_totals = {}
# 遍历SUM.csv文件中的每一行
for row in reader:
# 获取当前行的销售日期、单品编码和销售类型
date = row['销售日期']
code = row['单品编码']
sale_type = row['销售类型']
# 获取当前行的销量(千克)
quantity = float(row['销量(千克)'])
# 构建一个唯一的键,包含销售日期、单品编码和销售类型
key = (date, code, sale_type)
# 如果键已存在,则将当前行的销量(千克)累加到已存在的值上
if key in sales_totals:
sales_totals[key] += quantity
# 如果键不存在,则将当前行的值作为初始值
else:
sales_totals[key] = quantity
# 将sales_totals中的数据写入SUMsmall.csv文件
for key, quantity in sales_totals.items():
date, code, sale_type = key
writer.writerow({
'销售日期': date,
'单品编码': code,
'销售类型': sale_type,
'销量(千克)': quantity
})
使用方法:
- 将以上代码保存为Python文件(例如,merge_csv.py)。
- 将SUM.csv文件放在与Python代码文件相同的目录中。
- 运行Python代码:
python merge_csv.py
运行成功后,将会在相同目录下生成一个名为SUMsmall.csv的文件,其中包含了根据销售日期、单品编码和销售类型合并后的销量数据。
原文地址: https://www.cveoy.top/t/topic/ejap 著作权归作者所有。请勿转载和采集!