#Python中,对EXCEL文件的读写操作需要安装、导入几个第三方模块
#xlrd模块:只能读取EXCEL文件,不能进行写操作
#xlwt模块:只能进行写操作,但是不能是覆盖写操作(也就是修改Excel文件),一旦覆盖写操作,会报错
#xlutils模块:由于xlrd只能读操作,xlwt不能覆盖写操作,因为涉及到修改Excel文件中的内容,我们需要借助xlutils模块 print("==============读EXCEL文件=============")
import xlrd
#
# #打开一个EXCEL文件
# rbook = xlrd.open_workbook("app_student.xls")
#
# #获取EXCEL中的页
# rsheet = rbook.sheet_by_index(0)
# rsheet = rbook.sheet_by_name("sheet1")
#
# #总行数
# print(rsheet.nrows)
#
# #总列数
# print(rsheet.ncols)
#
# #得到指定单元格的值
# print(rsheet.cell(0,0)) # 结果输出:text:'编号',是一个xlrd.sheet.Cell类
# print(rsheet.cell_value(0,0)) #结果输出字符串:编号
# print(rsheet.cell(0,0).value) #结果输出字符串:编号
#
# #遍历每一行的数据,返回一个list
# for i in range(rsheet.nrows):
# print(type(rsheet.row_values(i)))
# print(rsheet.row_values(i))
#
# #遍历每一列的数据,返回一个list
# for i in range(rsheet.ncols):
# print(type(rsheet.col_values(i)))
# print(rsheet.col_values(i)) print("============写EXCEL=============")
import xlwt
import pymysql
# wbook = xlwt.Workbook()
# wsheet = wbook.add_sheet("sheet1")
# wsheet.write(0,0,"编号")
# wsheet.write(0,1,"姓名")
# wsheet.write(0,2,"性别")
# wbook.save("student.xls") print("==========导出数据到Excel方法一========")
def export_excel(table_name):
host, user, passwd, db = '127.0.0.1', 'jxz', '123456', 'jxz'
coon = pymysql.connect(user=user, host=host, port=3306, passwd=passwd, db=db, charset='utf8')
cur = coon.cursor() # 建立一个普通游标
#cur = coon.cursor(cursor=pymysql.cursors.DictCursor) # 建立字典游标
sql = 'select * from %s ;'%table_name
cur.execute(sql) # 执行sql
fileds = [filed[0] for filed in cur.description] #所有的字段,cur.description 是一个二维元组
all_data = cur.fetchall() #cur.fetchall()返回的是一个二维元组
#cur.fetchmany() # 能传入一个数,返回多少条数据
#cur.fetchone() # 返回一条数据
wbook = xlwt.Workbook()
wsheet = wbook.add_sheet('sheet1')
for col,filed in enumerate(fileds): #写表头的
wsheet.write(0,col,filed)
row = 1 #行数
for data in all_data: #行
for col, filed in enumerate(data): # 控制列
wsheet.write(row, col, filed)
row+=1#每次写完一行,行就加1
wbook.save('%s.xls'%table_name)
export_excel('app_student') print("============修改Excel=============")
import xlutils.copy #或者:from xlutils import copy #1、先用xlrd模块,打开一个excel
newbook = xlrd.open_workbook("app_student.xls") #2、通过xlutils这个模块里面copy方法,复制一份excel
newbook = xlutils.copy.copy(newbook) #3、获取sheet页
newsheet = newbook.get_sheet(0)
lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']
for col,filed in enumerate(lis):
newsheet.write(0,col,filed)
newbook.save('app_student_new.xls')
 pymysql 字典游标数据格式
[{'gold': 999, 'grade': '天蝎', 'phone': '', 'id': 1, 'age': 0, 'addr': 'testsql', 'sex': '', 'name': 'AAA'}] pymysql 普通游标数据格式:
((1, 'AAA', '', 0, 'testsql', '天蝎', '', 999))

 

Python【操作EXCEL文件】的更多相关文章

  1. python 操作Excel文件

    1   安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd        #读取excel pip install xlwt        #写入excel pi ...

  2. python操作excel文件一(xlrd读取文件)

    一般做接口测试,会把参数和一些数据放入excel表中,这样就不会重新编译代码,提高效率.一般如何操作呢?接下来跟着步骤一起学习吧 执行步骤: 1.首先要安装 xlrd这个模块,用 pip instal ...

  3. 【python小记】python操作excel文件

    题记: 最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本 ...

  4. 使用Python操作excel文件

    使用的类库 pip install openpyxl 操作实现 工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 w ...

  5. python操作Excel文件

    参考: http://www.cnblogs.com/tianyajuanke/p/4048844.html http://blog.chinaunix.net/uid-24701781-id-334 ...

  6. python第三方库——xlrd和xlwt操作Excel文件学习

    python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt  Downloadin ...

  7. 用Python的pandas框架操作Excel文件中的数据教程

    用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...

  8. 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)

    前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...

  9. [转载]python操作excel使用win32com

    原文链接:http://blog.163.com/yang_jianli/blog/static/16199000620138532243782/ 使用COM接口,直接操作EXCEL(只能在Win上) ...

  10. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

随机推荐

  1. 多种方法实现左右固定,中间自适应的CSS布局

    布局是面试中常问的问题,尤其是这类的题目,怎么答才好呢? 大多数人的第一个方法是浮动,没错,浮动.第二个方法呢?你回答定位,没错.第三个方法呢?.... 第四个方法呢?第五个方法呢?.... 其实能想 ...

  2. 感谢Thunder

    感谢Thunder团队中的每一位成员. 组长王航认真负责,是一个合格优秀的领导者与伙伴,老师布置的任务都会及时分配给每个人,对待每一项任务都认真严谨负责,了解每个成员的优势及强项. 成员李传康.宋雨. ...

  3. java第三次试验报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:郭皓  学号:20135327 成绩:             指导 ...

  4. NABCD模型分析

    1.N——need需求 目前,学习英语是所有学生会面临的问题.提高词汇量对学习英语是十分必要的,尤其是对大学生来说对手机的使用特别频繁,我们提高英语词汇量也应该把手机更好的利用起来,利用自己对手机的使 ...

  5. 《TCP/IP 详解 卷1:协议》第 4 章:地址解析协议

    链路层是经过单一链路通信的协议层. IP 网络层协议的设计目标是为跨越不同物理类型的.多节点网络的 packet ,提供主机寻址.路由操作. 在其中要注意的一点是:网络层使用的地址和底层网络硬件使用的 ...

  6. 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (四) 树莓派单子节点查询

    考虑到项目的实际需要,树莓派作为主机,应该只在需要的时候查询特定节点发送的数据,因此接收到数据后需要根据头部判断是否是自己需要的数据,如果不是继续接收数据,超过一定时间未查询到特定节点的数据,则退出程 ...

  7. 统计Github项目信息

    项目总述 项目Github传送门 主要任务是从之前同项目的组员建的关系型数据库里提取出我们需要的GitHub的数据,并把结果保存到文件,以便之后插入到数据库. 从已经建立好的关系型数据库上多线程地读取 ...

  8. vue组件讲解(is属性的用法)

    什么是组件? 在说之前我们先搞清楚什么是组件?这样对我们下边的学习是很有帮助的. 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可以重复使用的代码.在较高层次 ...

  9. docker 建立私有仓库,24.205为镜像仓库所在主机

    一.下载registry #yum install -y python-devel libevent-devel python-pip gcc xz-devel #python-pip install ...

  10. CentOS 6.5以上版本安装mysql 5.7 完整版教程(修订版)

    转载自:https://codeday.me/collect/20170524/21861.html 1: 检测系统是否自带安装mysql # yum list installed | grep my ...