#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. oracle删除死锁进程

    在命令行下运行: select SID,SERIAL# from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; alte ...

  2. spring中的@component

    @component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>) 泛指各种组件, ...

  3. 面向对象OO第15次作业总结

    面向对象OO第15次作业总结 1.论述测试与正确性论证的效果差异,比较其优缺点测试通过大量测试数据来覆盖测试代码,比较直观,优点在于知道测的是啥,特别直观,缺点在于很难覆盖所有情况.正确性论证从逻辑关 ...

  4. 用java进行简单的万年历编写

    import java.util.Scanner; public class PrintCalendarDemo1 { public static void main(String[] args) { ...

  5. Journal entry of the eighth chapter to chapter ten

    Chapter eight: 当我们做一个项目的时候,一开始可能会信息满满,或者说是通过一些调查分析后觉得自己的团队能完全实现用户所提出的所有要求,但是,往往在很自信的时候,我们都会处处碰壁,因为组内 ...

  6. Centos7 虚拟机复制后网卡问题 Job for network.service failed

    在运行“/etc/init.d/network restart”命令时,出现错误“Job for network.service failed. See 'systemctl status netwo ...

  7. Hive与Hbase的区别

    1. 两者分别是什么?     Apache Hive是一个构建在Hadoop基础设施之上的数据仓库.通过Hive可以使用HQL语言查询存放在HDFS上的数据.HQL是一种类SQL语言,这种语言最终被 ...

  8. IE8+SpringMVC文件上传防止JSON下载

    今天在IE8测试文件上传的时候发现总是提示下载,原因是上传接口返回的是json,通过以下修改就可以保证返回是json并且不会出现下载的情况: @RequestMapping(value = " ...

  9. Android表情开发

    Android表情开发 效果图:            源码下载-github:https://github.com/SiberiaDante/EmotionApp (觉得有用的给个星星,支持一下哦)

  10. C语言以字符形式读写文件

    一.字符读取函数 fgetc (一).函数介绍 fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符.函数原型为: int fgetc(FILE* fp) fp 为文件 ...