目录

  • 前言
  • 代码的特点
  • 完整代码
  • 感言

前言

以下都是我学习CSDN里面的各位大神的分享:
我主要参考目标-主体和弹窗
次要参考-进度显示

代码的特点

1、可以弹窗选择需要合并的文件所在文件夹;
2、可以设置excel的子项页签数量;
3、可以合并xls、xlsx格式;
注意:xlrd 版本要选择1.2的,不要用最新的,最新的不支持XLSX

完整代码

# 1 引入库
import tkinter as tk           #选择文件夹功能用到的库
from tkinter import filedialog #弹出文件框,选择需要合并的文件所在的文件夹
import os                      #扫描文件夹中的文件用到的库
import xlrd                    #读取Excel文件的包
import xlsxwriter              #将文件写入Excel的包# 3.1 打开文件
#打开excel
def OpenExcelxlsx(Filepath):try:file=xlrd.open_workbook(Filepath)return fileexcept Exception as e:print(e)# 3.2 获取excel文件信息
# 获取Excel中所有的sheet
def GetAllSheets(file):return file.sheets()# 获取某个sheet表的行数
def GetAllRows(table):return table.nrows# 3.3 读取所有文件的所有数据
#读取文件内容
def GetContent(excel,sheetNo):content=list()                  #声明一个变量,用于存数据try:sheets=GetAllSheets(excel)  #对每个excel文件,获知它sheet的数量table=sheets[sheetNo]       #对某个sheet进行操作except Exception as e:          #异常处理print(e)                    #打印异常信息rows=GetAllRows(table)          #某个sheet表格的行数for i in range(rows):           #对每一行数据进行如下操作data=table.row_values(i)    #提取该行的数据content.append(data)        #将提取的数据存在list列表中return content                  #操作完成后,将提取的数据进行返回# 3.4 将读取的文件写入到新文件中
# 所有的Excel的所有sheets变成一个sheet
def Sum1(fileName, data):finalFile = xlsxwriter.Workbook(fileName)  # 创建一个工作表文件sheet = finalFile.add_worksheet()          # 为该工作表添加一个sheetcount = 0                                  # 由于每个sheet的数据数目不一样,因此需要计数for sheetId in range(len(data)):for row in range(len(data[sheetId])):for col in range(len(data[sheetId][row])):d = data[sheetId][row][col]                 # 提取数据sheet.write(count, col, d)                  # 将数据存入新文件中 <行,列,数据>count = count + 1                               # 汇总文件中的行数+1finalFile.close()                                       # 文件要进行关闭if __name__ == '__main__':'''打开选择文件夹对话框'''# 2 选择待合并文件所在的文件夹
root = tk.Tk()                         #初始化弹出文件库所需要的库
root.withdraw()                        #不加这个选择框消失不了
folderPath = filedialog.askdirectory() #获得选择好的文件夹# 3 读取所在文件夹中的xls文件,并进行合并
data = list()                     # 声明一个list变量,用来存数据,也可以用data=[]来初始化
fileSet = os.listdir(folderPath)  # 扫描所选文件夹中所有文件
for file in fileSet:if file.endswith('.xlsx'):    # 选择xls文件进行后续操作try:excel = OpenExcelxlsx(folderPath + '/' + file)  # 打开excel文件except Exception as e:print(e)                           # 异常处理,避免程序无脑崩溃:如果打开失败就打印失败信息sheets = GetAllSheets(excel)           # 获取excel文件中所有sheetfor i in range(1):                     # 对第一个sheet进行数据提取# for i in range(len(sheets)):         # 对每个sheet进行数据提取,所有子表print("正在读取文件:" + str(file) + "的第" + str(i) + "个sheet表的内容...")data.append(GetContent(excel, i))  # 使用append方法将所有数据存起来fileName = str('/bom表.xlsx')                   # 合并后的文件
finalFilePath = folderPath + fileName          # 给文件名加上文件目录,这样汇总文件就出现在当前目录了
Sum1(finalFilePath, data)                      # 将data中收集的数据存入到新建的文件夹中print("excel合并完成")

感言

这是我第一次在CSDN上面发表,感谢所有参与分享技术的大佬;
后面我会继续学习,因为现在还没完全满足我的使用需求,还需要手动操作表格,
如果有大佬可以分享一下就太好了,以下是我的疑问:
1、判断表头重复
2、判断列重复
3、除了表头重复,不同表格的指定列还存在重复即不考虑此表,并提示表格名称。

python实现多EXCEL表格合并xls、xlsx格式相关推荐

  1. python——多个excel表格合并到一个excel中的多个sheet中

    引言:我们在工作学习中常常需要涉及到多个excel的处理,python给我们提供一种更快的数据处理方法. 一.应用范围:多个布局相同的excel. 二.软件准备:excel/wps.python. 三 ...

  2. python利用pandas合并excel表格代码_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  3. Python实现excel表格合并

    使用Python实现excel表格合并(程序打包:pyinstaller -F ***.py): 一个excel文件的多sheet合并 文件夹下多个Excel文件的合并(单个文件的多sheet也会自动 ...

  4. Python对比VBA实现excel表格合并与拆分

    1.Excel表格合并 我们在日常工作中经常会导出一些数据,但是这些数据较大可能是按照某个分类形成的单独表格,比如每一天的数据,每个品牌的数据等. 但是,我们在进行数据分析的时候可能往往需要对这些数据 ...

  5. python对数据进行合并的函数_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  6. python处理excel表格数据-零基础使用Python读写处理Excel表格的方法

    引 由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作. 安装库Python环境 首先当然是配环境,不过选Python的一个重要 ...

  7. python pandas合并单元格_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  8. python批量翻译excel表格中的英文

    python批量翻译excel表格中的英文 需求背景 主要设计 分析 具体实现 表格操作 请求百度翻译api 多线程 控制台显示进度 完整源码 需求背景 女朋友的论文需要爬取YouTube视频热评,但 ...

  9. com.alibaba.easyexcel导出指定的列_使用Python导入导出Excel表格

    这篇文章的目的是讲解使用python导入导出Excel表格,目前还不涉及数据处理,主要实现为数据的展示. 第一步,准备材料 python3.8的安装包 一个Excel表格 第二步,安装软件 pytho ...

最新文章

  1. java中用byte[]数组实现的队列和用Byte[]实现的队列实际占用空间对比
  2. 服务器同时装mysql和sqlserver_Centos创建syslog服务器
  3. SRM 698 div1 RepeatString
  4. java oracle 排序_Oracle的排序和限制条件(order by 和where)
  5. flutter bloc_如何使用BLoC模式处理Flutter中的状态
  6. android aptx固件,新增aptX蓝牙发射协议,M5固件首次升级!
  7. SYN攻击原理以及检测防范技术
  8. 进程调度 操作系统第二章知识点归纳总结
  9. 网易严选退出双十一:“抵制”鼓吹过度消费
  10. js识别用户设备是移动端手机时跳转到手机网站
  11. 在ASP.NET中使用AJAX的简单方法 转载
  12. jpadao层继承什么_1岁英短蓝白母猫能卖多少钱,银渐层2岁公猫多少钱
  13. 计算机无法识别psp usb设备,PSP降级导致USB连接电脑识别问题解决办法
  14. 应用层协议 ——— HTTP协议
  15. 飞凌单片机解密_常见的IC芯片解密方法与原理解析!
  16. 在html中如何批量操作系统,网刻批量操作系统
  17. 数字日期格式转换yyyymmdd_Excel日期格式常用转换方法大全,关于日期函数
  18. 无线扫码枪 服务器查询异常,无线扫描枪常见问题及解决方法
  19. 物理学经济学java周易_八竿子打不着?——物理学和经济学的相似相通之处
  20. mysql sum契合_文化契合者为王。 这是在下一次开发人员面试中如何定位的方法。...

热门文章

  1. oracle-外币记账时总账余额表gl_balance变化(上)
  2. 如何快速、有效地管理海量的、分散的数据?佳农靠它实现数智化
  3. html群聊插件,团队群聊.html
  4. 26设计模式之建造者模式
  5. 结合Layui框架,实现SpringMVC+Spring+Mybatis,SSM整合案例CRUD(超详细代码,外加说明)
  6. 微信机器人控制linux,关于微信公共平台聊天机器人控制开启和关闭的代码
  7. Pair project(刘昊岩11061156 黄明源11061186)
  8. AttributeError: module ‘tushare‘ has no attribute ‘get_k_data‘报错解决方法
  9. 杂谈:WiFi包和buffer
  10. python惰性求值例子_惰性求值和yield-Python