安装模块
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