Python合并多个Excel数据的方法

yipeiwu_com6年前Python基础

安装模块

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

2、用pip install 安装

pip install xlrd pip install XlsxWriter

pip list查看

XlsxWriter示例

import xlsxwriter 
 # 创建一个工作簿并添加一个工作表
 workbook = xlsxwriter.Workbook("demo.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", "C:/Users/Cheng/Desktop/1.png")
 # 关闭文件流
 workbook.close()

运行结果如下:

合并Excel数据思路

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

代码

 import xlrd
 import xlsxwriter 
 source_xls = ["D:/python/1.xlsx", "D:/python/2.xlsx"]
 target_xls = "D:/python/3.xlsx"
 # 读取数据
 data = []
 for i in source_xls:
  wb = xlrd.open_workbook(i)
  for sheet in wb.sheets():
   for rownum in range(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})
 for i in range(len(data)):
  for j in range(len(data[i])):
   worksheet.write(i, j, data[i][j], font)
 # 关闭文件流
 workbook.close()

运行结果

体会

刚开始学习Python,可能是由于看惯了Java代码的缘故吧,初学起来感觉语法怪怪的,跟Java有些类似,又感觉和JavaScript,Perl这种有点像。。。

总结

以上所述是小编给大家介绍的Python合并多个Excel数据的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python 文件查找及内容匹配方法

需求:程序开发中有大量的接口,但在实际的使用中有一部分是没有使用的,在开发的程序中匹配这些接口名,找到哪些接口从没有使用过。将这些没有使用过的接口名保存下来。 代码结构: 结构解析: 1...

python中ASCII码和字符的转换方法

将ASCII字符转换为对应的数值即‘a'-->65,使用ord函数,ord('a') 反之,使用chr函数,将数值转换为对应的ASCII字符,chr(65) 可以同时使用这两个函数...

python 控制语句

1比如python提倡简单实用的思想,它就没有switch语句,如果要实现switch语句的效果 的话可以通过2个方法来写把 (1)通过if elif 语句来实现 if 条件: … el...

Python中文竖排显示的方法

本文实例讲述了Python中文竖排显示的方法。分享给大家供大家参考。具体如下: 这里将中文竖排显示 比如 衣食者人之生利也,然且犹尚有节,葬埋者人之死利也,夫何独无节於此乎 输出为: 衣...

Python检查ping终端的方法

菜鸟一枚,写着试了试,虽说有点杂乱,但还是能用,我是在linux下运行的 大致说下过程: 1、把需要ping的网段中所有ip存到数组中(我是放到数组中了,其实直接for循环,一个个的也行...