如何用python合并多个excel文件
安装模块
1、找到对应的模块 http://www.python-excel.org/
2、用pipinstall安装
pip3installxlrd pip3installXlsxWriter
因为使用的是python3,所以安装的时候采用pip3。
XlsxWriter示例
先看看简单的演示:
importxlsxwriter #创建一个工作簿并添加一个工作表 workbook=xlsxwriter.Workbook("c.xlsx") worksheet=workbook.add_worksheet() #设置列宽 worksheet.set_column("A:A",20) #设置格式 bold=workbook.add_format({"bold":True}) #设置单元格的值 worksheet.write("A1","Hello") #带格式的单元格 worksheet.write("A2","World") #写一些数字,用行列标识 worksheet.write(2,0,123) worksheet.write(3,0,123.456,bold) #插入一张图片 worksheet.insert_image("B5","s.png") #关闭文件流 workbook.close()
运行结果如下:
合并Excel数据
对于合并excel,有两种case,一种是表头都是一样的,一种是表头不一样的excel,但是希望放到同一个表格里面,方便查看
表头都一样的excel
这个处理很简单,具体代码如下:
importxlrd importxlsxwriter source_xls=["a.xlsx","b.xlsx"] target_xls="3.xlsx" #读取数据 data=[] foriinc: wb=xlrd.open_workbook(i) forsheetinwb.sheets(): forrownuminrange(sheet.nrows): data.append(sheet.row_values(rownum)) print(data) #写入数据 workbook=xlsxwriter.Workbook(target_xls) worksheet=workbook.add_worksheet() font=workbook.add_format({"font_size":14}) foriinrange(len(data)): forjinrange(len(data[i])): worksheet.write(i,j,data[i][j],font) #关闭文件流 workbook.close()
Excel是由行和列组成的,所以这里将所有文件中的所有sheet中的数据读取出来组成一个二维数组,然后再写入新的Excel。
表头都不一样的excel
对于表头不一样的excel,可能需要手动选取表格的一部分,然后进行合并。具体代码如下:
importxlrd importxlsxwriter source_xls=["a.xlsx","b.xlsx"] target_xls="合并.xlsx" #读取数据 data=[] #重复数据 dupdata=[] #姓名列表,按照姓名去重 name=[] #获取excel的个数 sheetcount=len(source_xls) i=0 whileiExcel是由行和列组成的,所以这里将所有文件中的所有sheet中的数据读取出来组成一个二维数组,然后再写入新的Excel。
表头都不一样的excel
对于表头不一样的excel,可能需要手动选取表格的一部分,然后进行合并。具体代码如下:
importxlrd importxlsxwriter source_xls=["a.xlsx","b.xlsx"] target_xls="合并.xlsx" #读取数据 data=[] #重复数据 dupdata=[] #姓名列表,按照姓名去重 name=[] #获取excel的个数 sheetcount=len(source_xls) i=0 whilei合并后的结果
重复列表结果如下:
以上就是如何用python合并多个excel文件的详细内容,更多关于python合并excel文件的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。