如何用python把多个excel文件自动合并到一个文件中

如题所述

工作中经常用到Excel,很多事情都重复处理,比如每天的日报,每周的周报,各种数据表,这种固定的表其实都是重复性的劳动。最近这段时间一直在学python,但是断断续续的,眼高手低,看别人的代码看的很懂,但是自己就是写不出来,决定自己写个小程序练练手,解决下身边的实际问题,提高工作效率。
这个小脚本主要是把多个excel文件合并到一个文件中。网上搜索了下文章,有不少excel的python库,最后选择了适合python3的openpyxl库,这个库安装很简单,
pip install openpyxl

开发的环境是:mac/win +python3.5 +pycharm
废话不多说,把代码贴出来,请大家多指点下,我觉着代码还可以更简洁下,如果大家有好的优化方案麻烦留言指导下:
#coding=gbkimport openpyxlexcel_data=['qihu.xlsx','baidu.xlsx']# new=openpyxl.load_workbook('all.xlsx')for excel_name in excel_data:
wb= openpyxl.load_workbook(excel_name,data_only=True)
sheet_name=wb.get_sheet_names()
# print(sheet_name)
for work in sheet_name:
nb = openpyxl.load_workbook('all.xlsx',data_only=True)
newsheet_name = nb.get_sheet_names()
if work in newsheet_name :
name = nb.get_sheet_by_name(work)
sheet = wb.get_sheet_by_name(work)
for i in range(1,sheet.max_row+1):
for j in range(1,sheet.max_column+1):

# 获取整个sheet数据
data=sheet.cell(row=i,column=j).value

name.cell(column=j,row=i).value=data
else:
newsheet = nb.create_sheet(title=work)
name = nb.get_sheet_by_name(work)

sheet = wb.get_sheet_by_name(work)
for i in range(1,sheet.max_row+1):
for j in range(1,sheet.max_column+1):

# 获取整个sheet数据
data=sheet.cell(row=i,column=j).value

name.cell(column=j,row=i).value=data
print(name)
nb.save('all.xlsx')
# print(newsheet_name)
温馨提示:内容为网友见解,仅供参考
无其他回答

python合并多个excel
1、打开一个python文件,在文件的开头导入模块,需要导入的模块包括xlwt,xlrd和os模块。2、打开一个目标xls文件,也就是要将多个表格合并在哪里的意思。3、定义一个文件夹,专门存放要进行合并的excle表格。4、循环遍历这个文件夹内的所有excle文件,将每个excle里面的sheet的名称放到一个数组里面。5、打开...

如何将多个格式一样的excel文件合并为一个
要将多个格式相同的Excel文件合并为一个,可以使用Excel的VBA宏、Python的pandas库或第三方Excel插件等工具来自动化处理。首先,如果熟悉VBA编程,可以通过编写一个宏来自动合并多个Excel文件。这个宏可以遍历指定文件夹中的所有Excel文件,然后逐个打开它们,将每个文件中的数据复制到一个新的总表格中。例如,...

一键搞定:使用Python批量合并Excel文件的终极指南
首先,确保你的Python环境已正确设置,建议使用Anaconda,它包含了处理数据所需的pandas和openpyxl库。通过pip安装或Anaconda管理,为后续操作奠定基础。回顾基础知识时,了解Excel的工作簿、工作表和单元格结构,以及pandas库如何读写Excel文件。pandas的DataFrame是核心工具,它能方便地操作Excel数据。在详细教程...

python如何读取多个excel合并到一个excel中
思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。完整代码 -*- coding: utf-8 -*-#将多个Excel文件合并成一个import xlrdimport xlsxwriter#打开一个excel文件def open_xls(file):fh=xlrd.open_workbook(file) return fh#...

Python|合并Excel的多个sheet
打开Excel,点击【数据】-【获取数据】-【来自文件】-【从Excel工作簿】,选择文件。勾选【选择多项】,选择要合并的sheet,然后点击【转换数据】。选择【源合并】或【追加查询】: 源合并:在【查询设置】中保持【源】操作,删除其他,去除标题行后【关闭并上载】。 追加查询:先处理sheet标题,...

快速合并多个Excel文件的方法
首先,利用Excel内置的"数据查询"功能可以简化过程。将所有需要合并的文件放入同一文件夹,启动数据查询功能,选择"来自文件"->"文件夹",系统会自动识别并显示所有文件。确认无误后,选择"合并并加载",预览并确认数据,去除空行和不需要的内容,最后筛选完成,只需复制粘贴到目标模板即可。其次,Python编程...

如何将多个excel文件合并?
1、首先将这些excel文件都复制到一个文件夹下。2、切换到【数据】菜单,点击【新建查询】,选择【从文件】下的【从文件夹】。3、输入刚刚的文件夹路径,点击【确定】。4、点击【合并】下的【合并和加载】选项。5、选择要合并的工作表名称,最后点击【确定】。6、这就完成了多个excel文件的合并。我们...

快来,教你用Python将不同Excel的sheet合成一个Excel的一个sheet
详情请查看视频回答

用python将两个excel文件中的所有工作表复制到一个新的excel?
import openpyxl 创建一个新的 Excel 文件 wb = openpyxl.Workbook()读取第一个 Excel 文件 wb1 = openpyxl.load_workbook("file1.xlsx")遍历第一个 Excel 文件中的每个工作表 for sheet in wb1.worksheets:复制该工作表到新的 Excel 文件中 wb.create_sheet(title=sheet.title, index=sheet....

Pandas与EXCEL之数据读取\/保存\/文件分割\/文件合并
你就能明白操作效果。最后,将多个EXCEL文件合并到一个文件,`concat`函数大显身手。只需简单调用,所有文件内容就能整合在一起。若遇到重复数据,如表A中的重复id,`concat`可以帮你处理,保留第一次出现的所有内容,同时去除重复次的记录。更详细的代码和示例,你可以在GitHub上找到。

相似回答