Python 处理CSV文件:合并相同销售日期、单品编码和销售类型的销量

本文提供了一个Python脚本,用于处理名为 'SUM.csv' 的文件。该文件包含以下列:销售日期、扫码销售时间、单品编码、单品名称、分类名称、销量(千克)、销售单价(元/千克)、销售类型、是否打折销售、批发价格、单品损耗率。

目标:

将具有相同 '销售日期'、'单品编码' 和 '销售类型' 的行的 '销量(千克)' 列的值合并,并将结果保存到一个名为 'SUMsmall.csv' 的新文件中。其他列的值保持不变。

**Python代码:**pythonimport csv

读取SUM.csv文件with open('SUM.csv', 'r') as file: reader = csv.DictReader(file) rows = list(reader)

创建SUMsmall.csv文件with open('SUMsmall.csv', 'w', newline='') as file: fieldnames = reader.fieldnames writer = csv.DictWriter(file, fieldnames=fieldnames) writer.writeheader()

# 处理数据    for i in range(len(rows)):        row = rows[i]        sales_date = row['销售日期']        product_code = row['单品编码']        sales_type = row['销售类型']        sales_volume = float(row['销量(千克)'])

    # 查找是否有相同的销售日期、单品编码和销售类型的行        for j in range(i+1, len(rows)):            next_row = rows[j]            next_sales_date = next_row['销售日期']            next_product_code = next_row['单品编码']            next_sales_type = next_row['销售类型']

        # 如果找到相同的行,则将销量相加            if sales_date == next_sales_date and product_code == next_product_code and sales_type == next_sales_type:                sales_volume += float(next_row['销量(千克)'])

    # 写入新行到SUMsmall.csv文件        row['销量(千克)'] = str(sales_volume)        writer.writerow(row)

使用方法:

  1. 将上述代码保存为Python文件(例如:process_csv.py)。2. 将 'SUM.csv' 文件与Python脚本放在同一目录下。3. 运行Python脚本。

运行脚本后,将在同一目录下生成 'SUMsmall.csv' 文件,其中包含合并后的数据。

注意:

代码假设 'SUM.csv' 文件使用逗号作为分隔符。如果使用其他分隔符,请相应地修改代码中的 csv.DictReadercsv.DictWriter 函数。

Python 处理CSV文件:合并相同销售日期、单品编码和销售类型的销量

原文地址: https://www.cveoy.top/t/topic/ejbt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录