如何用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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。