Python 处理 CSV 文件:合并相同日期、商品编码和销售类型的销量
使用 Python 合并 CSV 文件中相同日期、商品编码和销售类型的销量
本文将介绍如何使用 Python 的 pandas 库来处理 SUM.csv 文件,将销售日期相同、单品编码相同且销售类型相同的行的销量(千克)相加,并将结果输出到新的 CSV 文件 SUMsmall.csv 中。
SUM.csv 文件示例:
销售日期,扫码销售时间,单品编码,单品名称,分类名称,销量(千克),销售单价(元/千克),销售类型,是否打折销售,批发价格,单品损耗率
2023-03-01,10:00:00,A001,苹果,水果,5,10,零售,否,8,0.05
2023-03-01,11:00:00,A001,苹果,水果,3,10,零售,否,8,0.05
2023-03-01,12:00:00,A002,香蕉,水果,2,5,批发,是,4,0.03
2023-03-02,10:00:00,A001,苹果,水果,7,10,零售,否,8,0.05
2023-03-02,11:00:00,A002,香蕉,水果,4,5,批发,是,4,0.03
代码实现:
import pandas as pd
# 读取 SUM.csv 文件
df = pd.read_csv('SUM.csv')
# 对数据进行分组和求和操作
df_small = df.groupby(['销售日期', '单品编码', '销售类型']).sum().reset_index()
# 将处理后的数据保存到 SUMsmall.csv 文件
df_small.to_csv('SUMsmall.csv', index=False)
解释:
- 导入 pandas 库: 使用
import pandas as pd导入 pandas 库。 - 读取 CSV 文件: 使用
pd.read_csv('SUM.csv')读取 SUM.csv 文件并将其存储在df数据框中。 - 分组和求和: 使用
df.groupby(['销售日期', '单品编码', '销售类型']).sum().reset_index()对数据进行分组和求和操作。groupby方法将数据根据 '销售日期'、'单品编码' 和 '销售类型' 进行分组。sum()方法对每个分组的 '销量(千克)' 列进行求和。reset_index()方法将分组索引重置为数值索引。
- 保存结果: 使用
df_small.to_csv('SUMsmall.csv', index=False)将处理后的数据保存到 SUMsmall.csv 文件中。to_csv()方法将数据框保存为 CSV 文件。index=False参数表示不保存索引列。
SUMsmall.csv 文件示例:
销售日期,单品编码,销售类型,销量(千克)
2023-03-01,A001,零售,8
2023-03-01,A002,批发,2
2023-03-02,A001,零售,7
2023-03-02,A002,批发,4
这段代码将生成一个新的 CSV 文件 SUMsmall.csv,其中包含了销售日期、单品编码和销售类型相同行的销量(千克)之和。其它列的值将保持不变。
注意:
- 确保 SUM.csv 文件存在于与代码相同的目录中。
- 运行代码后,将在同一目录下生成 SUMsmall.csv 文件。
原文地址: https://www.cveoy.top/t/topic/ejcH 著作权归作者所有。请勿转载和采集!