安装模块
1、找到对应的模块 http://www.python-excel.org/
2、用pip install 安装
pip install xlrd pip install xlsxwriter
pip list查看
xlsxwriter示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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数据的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/cjsblog/p/9314166.html