在Python操作Excel 的模块有 xlrd、xlwt、xlutils等。
xlrd:读取Excel文件数据
xlwt:写入Excel 数据,缺点是Excel格式无法复用,为了方便用户,写入的话,比较推荐xlutils模块,它可以可复制原excel格式
1 复制代码 2 #coding=utf-8 3 import xlrd,xlwt 4 from xlutils.copy import copy 5 6 #读取文件 7 read_file = xlrd.open_workbook(file_path,formatting_info=True) 8 #参数注释: 9 #file_path:文件路径,包含文件的全名称 10 #formatting_info=True:保留Excel的原格式 11 12 #将文件复制到内存 13 write_data = copy(read_file) 14 15 #读取复制后文件的sheet1 16 write_save = write_data.get_sheet(0) 17 18 #写入数据 19 write_save.write(x,y,value) 20 #参数注释: 21 #x,y:写入目标格的位置坐标 22 #value:写入数据 23 24 #保存写入数据后的文件到原文件路径 25 write_data.save(self.file_path)
样式:
1 #coding:utf-8 2 import os 3 import time 4 import xlwt 5 6 filename="test_xlwt.xls" 7 if os.path.exists(filename): 8 os.remove(filename) 9 def set_color(color,bold): 10 style=xlwt.XFStyle() 11 font=xlwt.Font() 12 font.colour_index=color 13 font.bold = bold 14 style.font=font 15 return style 16 title_style=set_color(0x06,True) 17 xls=xlwt.Workbook() 18 shet1=xls.add_sheet("test_sheet") 19 shet1.write(0,0,"test",set_color(0x02,True)) #红色 20 shet1.write(0,1,"test",set_color(0x05,False)) #黄色 21 shet1.write(0,2,u"你好",set_color(0x00,True)) #黑色加粗 22 shet1.write(0,3,u"你好",set_color(0x00,False)) #黑色不加粗 23 shet1.write(0,4,u"你好",title_style) #黑色加粗 24 xls.save("test_xlwt.xls")
1 import xlwt 2 from datetime import datetime 3 4 # 设置样式 字体name Times New Roman 字体颜色为红色 数字格式为:#,##0.00 5 style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', 6 num_format_str='#,##0.00') 7 8 # 设置样式 日期格式为D-MMM-YY 9 style1 = xlwt.easyxf(num_format_str='D-MMM-YY') 10 11 # 新建工作簿 12 wb = xlwt.Workbook() 13 14 # 新建工作表 15 ws = wb.add_sheet('A Test Sheet') 16 17 # 向某行某列写入数据 18 ws.write(0, 0, 1234.56, style0) 19 ws.write(1, 0, datetime.now(), style1) 20 ws.write(2, 0, 1) 21 ws.write(2, 1, 1) 22 ws.write(2, 2, xlwt.Formula("A3+B3")) 23 24 # 保存工作表 25 wb.save('1.xls')