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

相关推荐
有梦想的攻城狮14 分钟前
Java 11中的Collections类详解
java·windows·python·java11·collections
前端小趴菜0520 分钟前
python - input()函数
python
程序员三藏36 分钟前
Selenium+python自动化测试:解决无法启动IE浏览器及报错问题
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
瓦尔登湖5081 小时前
DAY 40 训练和测试的规范写法
python
一个处女座的程序猿1 小时前
DataAnalytics之Tool:Metabase的简介、安装和使用方法、案例应用之详细攻略
数据分析
站大爷IP1 小时前
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
python
秋难降1 小时前
LRU缓存算法(最近最少使用算法)——工业界缓存淘汰策略的 “默认选择”
数据结构·python·算法
站大爷IP1 小时前
Python新手踩坑实录:这些错误你可能正在犯
python
我星期八休息1 小时前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
深盾安全2 小时前
uv,下一代Python包管理工具
python