一、写excel模块
import xlwt book = xlwt.Workbook()#新建一个excel sheet = book.add_sheet('sheet1')#加sheet页 sheet.write(0,0,'姓名')#行、列,写入的内容 sheet.write(0,1,'年龄') sheet.write(0,2,'性别') book.save('stu.xls')#结尾一定要用.xls
二、读excel模块
import xlrd book = xlrd.open_workbook('app_student.xls') sheet = book.sheet_by_index(0) sheet2 = book.sheet_by_name('shee1') print(sheet.cell(0,0).value) #指定sheet页里面行和lie获取数据 print(sheet.cell(1,0).value) #指定sheet页里面行和lie获取数据 print(sheet.row_values(0)) #这个获取到第几行的内容 print(sheet.row_values(1)) #这个获取到第几行的内容 print(sheet.nrows) #获取到excel里面总共有多少行 print(sheet.ncols) #总共多少列 print(sheet.col_values(0)) #取第几列的数据
循环获取每行数据
1 for i in range(sheet.nrows): #循环获取到每行数据 2 print(sheet.row_values(i))
循环获取每列数据
1 for i in range(sheet.ncols):#循环获取到每列数据 2 print(sheet.col_values(i))
三、修改excel
在打开excel时,后边加上formatting_info=True,可以把原excel里的样式也拷贝到新excel中
将excel中英文的表头修改成中文的
import xlrd from xlutils import copy book = xlrd.open_workbook('app_student.xls')#先用xlrd模块,打开一个excel new_book = copy.copy(book)#通过xlutils这个模块里面copy方法,复制一份excel sheet = new_book.get_sheet(0) #获取sheet页 lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币'] for col,filed in enumerate(lis):#enumerate打印列表下标及元素,循环列表时,下标会自增 sheet.write(0,col,filed) new_book.save('app_student.xls')
四、通用导出excel方法
需求:
只要你传入一个表名,就能把所有的数据导入出来,字段名是excel的表头
1、要动态获取到表的字段 cur.description能获取到表的字段
fileds = [ filed[0] for filed in cur.description ]
2、获取数据了 select * from "%s" % table_name
3、循环写入excel
1 import pymysql,xlwt 2 def export_excel(table_name): 3 host, user, passwd, db = '118.24.3.40','jxz','123456','jxz' 4 coon = pymysql.connect(user=user,host=host,port=3306,passwd=passwd,db=db,charset='utf8') 5 cur = coon.cursor() #建立游标,指定cursor类型返回的是字典 6 sql='select * from %s;'%table_name 7 cur.execute(sql)#执行sql 8 fileds = [ filed[0] for filed in cur.description ]#获取所有的字段名用作表头 9 all_data = cur.fetchall()#获取所有数据 10 print(all_data) 11 book = xlwt.Workbook() 12 sheet =book.add_sheet('sheet1') 13 14 for col,filed in enumerate(fileds):#写表头 15 sheet.write(0,col,filed)#行,列,内容 16 row=1#定义行 17 for data in all_data:#循环每一行 18 for cow,filed in enumerate(data):#控制列 19 sheet.write(row,cow,filed) 20 row+=1#没写完一行,行数就加1 21 book.save('%s.xls'%table_name) 22 export_excel('app_student')
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构