使用Python进行excel的数据简单分析

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文件,并且在这个文件中的工作簿"采销分析"中存储了我们分析计算后得到的数据信息。

相关推荐
青春不朽5127 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD0018 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
全栈老石8 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
梨落秋霜8 小时前
Python入门篇【模块/包】
python
CodeToGym9 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
阔皮大师9 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享9 小时前
StickyNotes,简单便签超实用
java·python
深蓝电商API9 小时前
处理字体反爬:woff字体文件解析实战
爬虫·python
开源技术9 小时前
Claude Opus 4.6 发布,100万上下文窗口,越贵越好用
人工智能·python
张3蜂10 小时前
深入理解 Python 的 frozenset:为什么要有“不可变集合”?
前端·python·spring