针对不同场景的Python合并多个Excel方法

简介: 在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便。最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢~~~

大家好,我是辰哥~

在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便。最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢~~~

三种场景

  1. 多个同字段的excel文件合并成一个excel
  2. 多个不同字段的excel文件拼接成一个excel
  3. 一个excel的多个sheet合并成一个sheet

辰哥目前想到的仅是辰哥遇到的这三种情况(如果还有很多其他情况的,欢迎在下方留言,因为辰哥日常非经常涉及多种excel处理的内容,所以想不到其他情况)

01 合并多个同字段的excel

这里辰哥先新建三个excel文件:11.xlsx;12.xlsx;13.xlsx;并往里填充数据,数据如下:

11.xlsx

12.xlsx

13.xlsx

需求:将这三个excel文件合并到一个excel中。

导入库
# 读取模块
import xlrd
# 写入模块
import xlwt

这里需要用到两个库:xlrd读取excel; xlwt写入到合并的excel;

# 文件列表
xlxs_list = ["1/11.xlsx","1/12.xlsx","1/13.xlsx"]
# 创建合并后的文件
workbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet('Sheet1')

定义合并哪些excel文件,以及合并后的excel

# 行数
count = 0
#表头(只写入第一个xlsx的表头)
bt = 0
for name in xlxs_list:
    wb = xlrd.open_workbook(name)
    #按工作簿定位工作表
    sh = wb.sheet_by_name('Sheet1')
    #遍历excel,打印所有数据
    if count>1:
        bt=1
    for i in range(bt,sh.nrows):
        k = sh.row_values(i)
        # 遍历每一行中的每一列
        for j in range(0,len(k)):
            worksheet.write(count,j, label=str(k[j]))
        count = count +1
workbook.save('1/合并1_辰哥.xlsx')

最后合并到:合并1_辰哥.xlsx  中,其结果如下:

02 拼接多个不同字段的excel

新建三个excel文件:21.xlsx;22.xlsx;23.xlsx;并往里填充数据

21.xlsx

22.xlsx

23.xlsx

将这三个excel文件拼接带一个excel中(从左往右)

# 列数
col = 0
for name in xlxs_list:
    wb = xlrd.open_workbook(name)
    #按工作簿定位工作表
    sh = wb.sheet_by_name('Sheet1')
    #遍历excel,打印所有数据
    for i in range(0,sh.nrows):
        k = sh.row_values(i)
        # 遍历每一行中的每一列
        for j in range(0,len(k)):
            worksheet.write(i,col+j, label=str(k[j]))
    col = col +len(k)
workbook.save('2/合并2_辰哥.xlsx')

最后合并到:合并2_辰哥.xlsx  中,其结果如下:

03 合并一个excel的多个sheet

新建一个excel文件:31.xlsx;并新增sheet1、sheet2、sheet3,往里填充数据

sheet1

sheet2

sheet3

将同一个excel文件中的这三个sheet并到一个sheet中。

sheet_list = ['Sheet1','Sheet2','Sheet3']
# 行数
count = 0
# 表头(只写入第一个xlsx的表头)
bt = 0
for st in sheet_list:
    #按工作簿定位工作表
    sh = wb.sheet_by_name(st)
    #遍历excel,打印所有数据
    if count > 1:
        bt = 1
    for i in range(bt, sh.nrows):
        k = sh.row_values(i)
        # 遍历每一行中的每一列
        for j in range(0, len(k)):
            worksheet.write(count, j, label=str(k[j]))
        count = count + 1
workbook.save('3/合并3_辰哥.xlsx')

最后合并到:合并3_辰哥.xlsx 中,其结果如下:

04 小结

目前想到的仅是辰哥遇到的这三种情况(如果还有很多其他情况的,欢迎在下方留言,因为辰哥日常并非经常涉及多种excel处理的内容,所以想不到其他情况)

相关文章
|
24天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
1月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
51 3
|
17天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
25天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
120 5
|
1月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
41 15
|
1月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
94 4
|
1月前
|
SQL 数据库连接 API
在Python中,异常处理机制被广泛应用于各种场景
在Python中,异常处理机制被广泛应用于各种场景
34 4
|
1月前
|
Python
Python编程中的魔法方法(Magic Methods)
【10月更文挑战第40天】在Python的世界中,魔法方法就像是隐藏在代码背后的神秘力量。它们通常以双下划线开头和结尾,比如 `__init__` 或 `__str__`。这些方法定义了对象的行为,当特定操作发生时自动调用。本文将揭开这些魔法方法的面纱,通过实际例子展示如何利用它们来增强你的类功能。
18 1
|
21天前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
34 0
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
162 4