Python【操作EXCEL文件】
- #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文件】的更多相关文章
- python 操作Excel文件
1 安装xlrd.xlwt.xlutils cmd下输入: pip install xlrd #读取excel pip install xlwt #写入excel pi ...
- python操作excel文件一(xlrd读取文件)
一般做接口测试,会把参数和一些数据放入excel表中,这样就不会重新编译代码,提高效率.一般如何操作呢?接下来跟着步骤一起学习吧 执行步骤: 1.首先要安装 xlrd这个模块,用 pip instal ...
- 【python小记】python操作excel文件
题记: 最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本 ...
- 使用Python操作excel文件
使用的类库 pip install openpyxl 操作实现 工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 w ...
- python操作Excel文件
参考: http://www.cnblogs.com/tianyajuanke/p/4048844.html http://blog.chinaunix.net/uid-24701781-id-334 ...
- python第三方库——xlrd和xlwt操作Excel文件学习
python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt Downloadin ...
- 用Python的pandas框架操作Excel文件中的数据教程
用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...
- 记录python接口自动化测试--把操作excel文件的方法封装起来(第五目)
前面补充了如何来操作excel文件,这次把如何获取excel文件的sheet对象.行数.单元格数据的方法进行封装,方便后面调用 handle_excel.py# coding:utf-8 import ...
- [转载]python操作excel使用win32com
原文链接:http://blog.163.com/yang_jianli/blog/static/16199000620138532243782/ 使用COM接口,直接操作EXCEL(只能在Win上) ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
随机推荐
- css 文字展示两行 其余的省略号显示
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 设计与实现分离——面向接口编程(OO博客第三弹)
如果说继承是面向对象程序设计中承前启后的特质,那么接口就是海纳百川的体现了.它们都是对数据和行为的抽象,都是对性质和关系的概括.只不过前者是纵向角度,而后者是横向角度罢了.今天呢,我想从设计+语法角度 ...
- 《JavaScript》split和join
首先了解split和join两个函数 split 根据条件截断字符串,返回数组 //str.split(option,length) 字符串转数组 //option:表示分割依据 //length:用 ...
- Hibernate笔记①--myeclipse制动配置hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...
- my everying
evering -> everything 一.请回望暑假时的第一次作业,你对于软件工程课程的想象 1)对比开篇博客你对课程目标和期待,"希望通过实践锻炼,增强计算机专业的能力和就业竞 ...
- T4模板_入门
T4模板作为VS自带的一套代码生成器,功能有多强大我也不知道,最近查找了一些资料学习一下,做个笔记 更详细的资料参见: MSDN: http://msdn.microsoft.com/zh-cn/li ...
- 转载---Atom编辑器常用快捷键
常用快捷键–亲测及翻译 英文 中文 快捷键 功能 New Window 新建界面窗口 Ctrl + Shift + N 如中文意思 New File 新建文件 Ctrl + N 如中文意思 Open ...
- 最近JavaScript的一些收获
开发习惯的上的收获 1,开发过程中,要让整个逻辑展示在一个函数中,中间部分则做可以考虑公用策略优化 2,开发完成至少有三个角度进行测试,正面方面和中立 开发技巧上面的收获 1,驼峰转为‘-’以及‘-’ ...
- sql%bulk_rowcount && sql%rowcount 的使用
说明: %BULK_ROWCOUNT 属性计算FORALL迭代影响行数 在进行SQL数据操作语句时,SQL引擎打开一个隐式游标(命名为SQL),该游标的标量属性(scalar attribute)有 ...
- jQuery 版本选择与常见插件库总结
在日常的开发中jQuery作为一个流行多年的轻量级 JavaScript 库,使用十分的普遍,主要源于它的便捷性和实用性非常高. 在此总结一些关于jQuery版本的区别和选择的建议,以及一些常见插件库 ...