python--操作excel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--操作excel相关的知识,希望对你有一定的参考价值。

一、写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--操作excel的主要内容,如果未能解决你的问题,请参考以下文章

python如何操作excel 基础代码

python如何操作excel 基础代码

学习笔记:python3,代码片段(2017)

phpExcel 操作示例

尝试将 Vlookup 片段添加到我的 Excel 宏

Python操作Excel