Python代码,需要将处理后分析得到的数据存储到与当前目录下的一个Excel文件中去。
完整的Python代码(初):
python
import pandas as pd
import os
# 读取Excel文件
file_path = '供应链分析.xlsx'
excel_data = pd.ExcelFile(file_path)
# 读取相关的两个工作表
procurement_df = pd.read_excel(excel_data, '采购中标信息表')
sales_df = pd.read_excel(excel_data, '订单信息表')
# 对"订单信息表"中的"年度"进行筛选,只保留"2024"年的数据
sales_df = sales_df[sales_df['年度'] == 2024]
# print(sales_df)
# 提取"订单信息表"中"商品编号"、"销售数量"两列数据
sales_df = sales_df[['商品编号', '商品名称', '销售数量']]
# print(sales_df)
# # 分别从"采购中标信息表"和"订单信息表"中提取"商品编号"、"商品名称"、"销售数量"两列数据
# procurement_df = procurement_df[['商品编号', '商品名称', '采购数量']]
# sales_df = sales_df[['商品编号', '销售数量']]
# # 合并两个DataFrame
# summary_df = pd.merge(procurement_df, sales_df, on='商品编号', how='outer').fillna(0)
#
# # 计算每一个商品编号的"采销匹配度",采销匹配度=采购数量/销售数量
# summary_df['采销匹配度'] = (summary_df['采购数量'] / summary_df['销售数量']).round(2)
# # 分别从"采购中标信息表"和"订单信息表"中提取"采购数量"、"销售数量"两列数据
procurement_df = procurement_df[['商品编号', '采购数量']]
# sales_df = sales_df[['商品编号', '销售数量']]
# 对同一商品编号的采购数量进行汇总
procurement_summary = procurement_df.groupby('商品编号')['采购数量'].sum().reset_index()
# 将汇总结果与"订单信息表"合并
sales_summary = pd.merge(sales_df, procurement_summary, on='商品编号', how='left').fillna(0)
# print(sales_summary)
# 计算每一个商品编号的"采销匹配度",采销匹配度=采购数量/销售数量
sales_summary['采销匹配度'] = (sales_summary['采购数量'] / sales_summary['销售数量']).round(2)
print(sales_summary)
# 将结果保存到新的Excel文件
# 获取文件名(不包括路径)
base_name = os.path.splitext(os.path.basename(file_path))[0]
# 构建新的文件名
output_file_path = f"{base_name}---分析.xlsx"
# 将数据保存到一个名为"采销分许"的工作簿中
with pd.ExcelWriter(output_file_path) as writer:
sales_summary.to_excel(writer, sheet_name='采销分许', index=False)
print(f"数据已保存到{output_file_path}中。")
上面的代码运行环境为MacOSPython3.12,成功的运行后,会在终端打印初需要分析计算的数据结果。同时,在与当前Python文件的同一目录下生产了一个"excel文件名-分析.xlsx"新的Excel文件,并且在这个文件中的工作簿"采销分析"中存储了我们分析计算后得到的数据信息。