怎么用python合并多个excel文件

  介绍

本篇内容主要讲解“怎么用python合并多个excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”怎么用python合并多个excel文件”吧!

python可以做什么

python是一种编程语言,内置了许多有效的工具,python几乎无所不能,该语言通俗易懂,容易入门,功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,网页开发等。

安装模块

1,找到对应的模块,http://www.python-excel.org/

2,用pip安装安装

pip3  install  xlrd   pip3  install  XlsxWriter

因为使用的是python3,所以安装的时候采用pip3。

XlsxWriter示例

先看看简单的演示:

import  XlsxWriter      #,创建一个工作簿并添加一个工作表   时间=workbook  xlsxwriter.Workbook (“c.xlsx")   时间=worksheet  workbook.add_worksheet ()      #,设置列宽   worksheet.set_column (“A: A",, 20)      #,设置格式   时间=bold  workbook.add_format ({“bold":真正的})      #,设置单元格的值   worksheet.write (“A1",,“Hello")      #,带格式的单元格   worksheet.write (“A2",,“World")      #,写一些数字,用行列标识   worksheet.write (2, 0, 123)   worksheet.write(3, 0, 123.456,粗体显示)      #,插入一张图片   worksheet.insert_image (“B5",,“s.png")      #,关闭文件流   workbook.close ()

运行结果如下:

怎么用python合并多个excel文件

合并excel数据

对于合并excel,有两种情况,一种是表头都是一样的,一种是表头不一样的excel,但是希望放到同一个表格里面,方便查看

表头都一样的excel

这个处理很简单,具体代码如下:

import  xlrd   import  xlsxwriter      source_xls =, (“a.xlsx",,“b.xlsx"】   时间=target_xls “3. xlsx"      #,读取数据   时间=data  []   for 小姐:c:拷贝=,,wb  xlrd.open_workbook(我)   ,for  sheet  wb.sheets拷贝():   for 才能;rownum 拷贝范围(sheet.nrows):   ,,data.append (sheet.row_values (rownum))   打印(数据)   #,写入数据   时间=workbook  xlsxwriter.Workbook (target_xls)   时间=worksheet  workbook.add_worksheet ()   时间=font  workbook.add_format ({14}“font_size":)   for 小姐:拷贝范围(len(数据)):   ,for  j 拷贝范围(len(数据[我])):   worksheet.write才能(i, j,数据[我][j],字体)   #,关闭文件流   workbook.close ()

Excel是由行和列组成的,所以这里将所有文件中的所有表中的数据读取出来组成一个二维数组,然后再写入新的Excel。

表头都不一样的Excel

对于表头不一样的Excel,可能需要手动选取表格的一部分,然后进行合并。具体代码如下:

import  xlrd   import  xlsxwriter      source_xls =, (“a.xlsx",,“b.xlsx"】   时间=target_xls “合并.xlsx"      #,读取数据   时间=data  []   #,重复数据   时间=dupdata  []   #,姓名列表,按照姓名去重   时间=name  []   #,获取excel的个数   sheetcount =, len (source_xls)   小姐:=0   while 小姐:& lt;, len (source_xls):=,,wb  xlrd.open_workbook (source_xls[我])   ,#存储不同excel 的数据   ,data.append ([])   ,#一个excel 可能存在多张表格   ,for  sheet  wb.sheets拷贝():   if 才能小姐:==,0:   ,,#,先把表头添加进去   ,,dupdata.append (sheet.row_values (0))   for 才能;rownum 拷贝范围(sheet.nrows):   ,,#,判断名字是否重复,表头都是姓名开头的,所以把姓名除去   ,,if  (sheet.row_values (rownum)[0],拷贝名称):   ,,,dupdata.append (sheet.row_values (rownum))   ,,,#,给数据添加另一个表的表头   ,,,if  (sheet.row_values (rownum)[0],==, & # 39;姓名& # 39;):   ,,,,数据[我].append (sheet.row_values (rownum))   ,,:   ,,,name.append (sheet.row_values (rownum) [0])   ,,,数据[我].append (sheet.row_values (rownum))   我+=1      #,合并数据   时间=workbook  xlsxwriter.Workbook (target_xls)   时间=worksheet  workbook.add_worksheet ()   时间=font  workbook.add_format ({14}“font_size":)   lineNum =0   for  num 拷贝范围(len(数据)):   ,#区分来自不同excel 的数据   ,if  num==, 0,:   for 才能小姐:拷贝范围(len(数据(num))):   ,,#,姓名   ,,worksheet.write (lineNum, 0,,数据(num)[我][0],字体)   ,,#,检查编的号   ,,worksheet.write (lineNum,, 1,,数据(num)[我][1],字体)   ,,#,年龄   ,,worksheet.write (lineNum,, 2,,数据(num)[我][23],字体)   ,,#,蓝标   ,,worksheet.write (lineNum,, 3,,数据(num)[我][14],字体)   ,,#,黄标   ,,worksheet.write (lineNum,, 4,的数据(num)[我][19],字体)   ,,worksheet.write (lineNum, 5日,数据(num)[我][20],字体)   ,,worksheet.write (lineNum, 6日,数据(num)[我][21],字体)   ,,#,大小   ,,worksheet.write (lineNum, 7日,数据(num)[我][24],字体)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么用python合并多个excel文件