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

news/2024/7/21 6:06:47 标签: python, excel, 开发语言

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

一、必要的库文件

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

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

pip install openpyxl
pip install pandas

二、参考代码

直接上 Python 参考代码:

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}')

三、删除多余行

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

python">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.niftyadmin.cn/n/5248305.html

相关文章

.NET使用分布式网络爬虫框架DotnetSpider快速开发爬虫功能

前言 前段时间有同学在微信群里提问,要使用.NET开发一个简单的爬虫功能但是没有做过无从下手。今天给大家推荐一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架(可以帮助 .NET 工程师快速的完成爬虫的开发):DotnetSpider。 注…

【K8S核心概念与专业术语】

2.1 服务类型 有状态应用(Stateful Application) ● 在有状态应用中,应用程序会保存和维护客户端的状态信息。 ● 客户端请求之间的状态信息会被保留,通常存储在服务器端的数据库或内存中。 ● 这种应用程序通常会跟踪用户的会话…

【C/PTA】结构体专项练习

本文结合PTA专项练习带领读者掌握结构体,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 目录 6-1 选队长6-2 按等级统计学生成绩6-3 学生成绩比高低6-4 综合成绩6-5 利用“选择排序算法“对结构体数组进行排序6-6 结构体的最值6-7 复…

Redis Geo操作地理位置

Redis Geo 使用场景API列表名词API列表Springboot使用mavenyamlTest 注意事项 Redis Geo 是Redis在3.2版本中新增的功能,用于存储和操作地理位置信息 使用场景 滴滴打车:这是一个对地理位置精度要求较高的场景。通过使用Redis的GEO功能,滴滴…

C语言文本模式和二进制模式

前言 本篇文章介绍一下C语言的文本模式和二进制模式 文本文件和二进制文件 从宏观上看,无论是文本文件还是二进制文件,文件中保存的都是0和1的序列,因为磁盘只有这两种状态。不同的文件只是对0、1序列的解释不同,如果文件内容是…

数据结构线性表-栈和队列的实现

1. 栈(Stack) 1.1 概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 …

Springboot中的RestTemplate

Springboot中的RestTemplate 在Spring Boot应用程序中,RestTemplate是一个用于进行HTTP请求的强大工具。通常用于与RESTful API进行交互、调用其他服务或执行HTTP请求。它提供了各种方法来发送HTTP请求(如GET、POST、PUT、DELETE等)&#xf…

低代码开发:降低门槛、提高效率的趋势与挑战

近年来,随着数字化转型的浪潮,低代码开发作为一种备受关注的趋势,逐渐引起了业界的热议。在讨论中,人们对于低代码的优势、局限性以及其对开发者职业的影响展开了激烈的辩论。本文将深入探讨低代码开发的积极和负面方面&#xff0…