当前位置: 首页 > article >正文

Python合并一个 Excel 里面的多张表

刚需要将入职五个月的日报汇总, 但是每日都是在通一个excel里面新建副表写日报,现在已经积累了84张附表(每周4张,总共21周),手动复制粘贴每张表格是相当耗时的工作。在这个时候,我开始思考:有没有一种更快捷的方法来合并这些表格呢?于是,我想到了使用Python。

一、必要的库文件

Excel文件中包含多个工作表,并且想要将这些工作表合并成一个,可以使用Python的pandas库来处理。

在这之前你可能需要安装的库:

pip install openpyxl
pip install pandas

二、参考代码

直接上 Python 参考代码:

import pandas as pd
# 读取Excel文件
file_path = 'C:\\Users\\97942\\Desktop\\工作计划总表.xlsx'  # 替换为你的Excel文件路径
xls = pd.ExcelFile(file_path)

# 创建一个空的数据帧,用于存储合并后的数据
merged_df = pd.DataFrame()

# 遍历每个工作表并合并
for sheet_name in xls.sheet_names:
    df = pd.read_excel(file_path, sheet_name=sheet_name)
    merged_df = pd.concat([merged_df, df], ignore_index=True)

# 将合并后的数据保存为新的Excel文件
merged_file_path = 'merged_excel_file.xlsx'  # 替换为你想要保存的新文件路径
merged_df.to_excel(merged_file_path, index=False)

print(f'合并完成,保存为 {merged_file_path}')

三、删除多余行

合并后,想要删除包含"工作计划"的行和空行。

import pandas as pd
# 读取Excel文件
file_path = 'C:\\Users\\97942\\Desktop\\merged_excel_file.xlsx'  # 替换为你的Excel文件路径
df = pd.read_excel(file_path, header=None)  # 假设数据没有列名,所以使用header=None

# 删除包含"工作计划"的行
df = df[~df[0].astype(str).str.contains('工作计划')]  # 将列转换为字符串后再进行contains操作

# 删除空行
df = df.dropna(how='all')

# 将结果保存为新的Excel文件
new_file_path = 'new_excel_file.xlsx'  # 替换为你想要保存的新文件路径
df.to_excel(new_file_path, index=False, header=False)  # 不保留列名

print(f'已删除包含"工作计划"的行和空行,保存为 {new_file_path}')

http://www.kler.cn/news/163065.html

相关文章:

  • 虚幻学习笔记10—C++函数与蓝图的通信
  • django与数据库交互关于当前时间的坑
  • 2023.12.7 关于 MySQL 事务详解
  • C#云LIS系统源码 B/S架构,SaaS模式,可扩展性强
  • 数据结构——二叉树的链式结构
  • pcl-3 pcl结合opencv做svm分类(法向量特征数据)
  • 如何运用gpt改写出高质量的文章 (1)
  • 【计算机网络】应用层电子邮件协议
  • AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 3 “编译 NXP i.MX RT1060”( 完 )
  • 奇点云2023数智科技大会来了,“双12”直播见!
  • 【游戏引擎 - C#脚本系统】6、C#端调用C++函数
  • 使用 Axios 进行网络请求的全面指南
  • echart中定义brush,默认状态,触发状态
  • MQTT协议对比TCP网络性能测试模拟弱网测试
  • Mybatis XML改查操作(结合上文)
  • SpringBoot集成WebSocket
  • Redis 基础—Redis Desktop Manager(Redis可视化工具)安装及使用教程
  • 如何使用玻璃材质制作3D钻石模型
  • 【conda】利用Conda创建虚拟环境,Pytorch各版本安装教程(Ubuntu)
  • IO多路转接之select
  • SQL命令---修改数据库的编码
  • 【ChatGLM3】第三代大语言模型多GPU部署指南
  • node14升级node16之后无法启动处理
  • Java编程中通用的正则表达式(二)
  • idea__SpringBoot微服务05——JSR303校验(新注解)(新的依赖),配置文件优先级,多环境切换
  • Mysql 命令行导出SQL文件和导入文件
  • mybatisplus手动获取数据源执行非主数据库事务
  • sql行转列
  • java-两个列表进行比较,判断那些是需要新增的、删除的、和更新的
  • 线性回归与逻辑回归:深入解析机器学习的基石模型