【Python学习】Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写入数据
在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')
作者:gtea
博客地址:https://www.cnblogs.com/gtea
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!