一. 痛点
⏰运维侠小白有个烦恼,多种不同格式的数据源文件,如:JSON格式、excel格式等等,需要合并保存到excel中,听说学习python可以提高工作效率,迫不及待了?
多尝试,困难才会被克服
学习就像追妹子,你只能看到背影,但只要坚持日积月累的付出,迟早她整个人属于你❤。
二.基础:准备工作
⚠️避免报错:
- 文件路径 没有写绝对路径默认是处理python代码所在路径的文件,因此需要把代码文件放到这个处理的文件同一文件夹里。
(1)安装 openpyxl、pandas模块
💻 代码:在命令行终端执行
# 安装必要库(命令行执行)
pip install openpyxl
pip install pandas
(2)基本构成:Excel文档的"三件套"结构
想象Excel就像一本老式账本:
📒 工作簿(Workbook):整个账本
📄 工作表(Sheet):账本里的每一页
📦 单元格(Cell):每个小格子
Excel结构示意图:
三.进阶:
⚠️避免报错:
- 文件路径 没有写绝对路径默认是处理python代码所在路径的文件,因此需要把代码文件放到这个处理的文件同一文件夹里。
- 此案例仅限于同一个部门,不同格式数据源合并,修改部分代码可以举一反三。
多数据源合并写入excel
源文件:
💻 代码:
import pandas as pd
from datetime import datetime
# 文字流程图:
# 读取多格式数据 -> 统一清洗 -> 合并计算 -> 分表存储
def multi_source_merge(output_path):
# 读取JSON(避坑点1:处理嵌套结构)
df1 = pd.read_json(r"C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\database1.json")
# 读取CSV(避坑点2:处理分隔符)
df2 = pd.read_csv(r"C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\database2.csv",encoding='gbk')
# 合并数据(避坑点3:指定关联字段)
merged = pd.merge(df1, df2, on="部门")
# 创建新工作簿(避坑点4:同时保存多个sheet)
with pd.ExcelWriter(output_path) as writer:
merged.to_excel(writer, sheet_name="汇总", index=False)
df1.to_excel(writer, sheet_name="原始数据_JSON", index=False)
df2.to_excel(writer, sheet_name="原始数据_CSV", index=False)
print(f"合并报表已生成:{output_path}")
# 使用示例
multi_source_merge(r"C:\Users\ZHAOY\PycharmProjects\1\整理后的文件\文档\综合报表.xlsx")
如图:
💡 调试技巧:先测试单个文档生成,再扩展为批量处理
💡在评论区告诉我,下期教你用Python搞定!