importxlrd,xlwtimportpymysqlclassMysql:def __init__(self):

self.content=pymysql.Connect(

host='127.0.0.1', #mysql的主机ip

port=3306, #端口

user='root', #用户名

passwd='123456', #数据库密码

db='test', #数据库名

charset='utf8', #字符集

)

self.cursor=self.content.cursor()defquery(self):

sql= "select grade,teacher,location from grade;"self.cursor.execute(sql)for row inself.cursor.fetchall():print("grade:%s teacher:%s location:%s" %row)

rows.append(row)print(f"一共查找到:{self.cursor.rowcount}")defreadtable(self):

sql= """select * from stu;"""self.cursor.execute(sql)

rows=[]for row inself.cursor.fetchall():print(row)

rows.append(row)print(f"一共查找到:{self.cursor.rowcount}")returnrowsdefinsert(self,grade,teacher,location):

sql= """INSERT INTO grade(grade,teacher,location) VALUES(%s,%s,%s)"""values=(int(grade),str(teacher),str(location))try:

self.cursor.execute(sql,values)

self.content.commit()#print("插入成功")

except:

self.content.rollback#print("插入失败")

defend(self):

self.cursor.close()

self.content.close()classExceltable:def __init__(self):

self.book= xlrd.open_workbook("grade.xls") #文件名,把文件与py文件放在同一目录下

self.sheet = self.book.sheet_by_name("Sheet1") #execl里面的worksheet1

defreadrow(self,row):#ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

row_values =[]for i inrange(self.sheet.ncols):

cell=self.sheet.cell_value(row,i)

ctype=self.sheet.cell(row,i).ctypeif ctype == 2 and cell%1==0:

cell=int(cell)elif ctype == 3:#转成datetime对象

date = datetime(*xldate_as_tuple(cell, 0))

cell= date.strftime('%Y/%d/%m %H:%M:%S')elif ctype == 4:

cell= True if cell == 1 elseFalse

row_values.append(cell)returnrow_valuesdefreadall(self):#ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error

all_content =[]for i in range(1,self.sheet.nrows):

row_values=[]for j inrange(self.sheet.ncols):

cell=self.sheet.cell_value(i,j)

ctype=self.sheet.cell(i,j).ctypeif ctype == 2 and cell%1==0:

cell=int(cell)elif ctype == 3:#转成datetime对象

date = datetime(*xldate_as_tuple(cell, 0))

cell= date.strftime('%Y/%d/%m %H:%M:%S')elif ctype == 4:

cell= True if cell == 1 elseFalse

row_values.append(cell)

all_content.append(row_values)returnall_contentdefreadmutirow(self,start,end):

muti_content=[]for i in range(start,end+1):

row_values=[]for j inrange(self.sheet.ncols):

cell=self.sheet.cell_value(i,j)

ctype=self.sheet.cell(i,j).ctypeif ctype == 2 and cell%1==0:

cell=int(cell)elif ctype == 3:#转成datetime对象

date = datetime(*xldate_as_tuple(cell, 0))

cell= date.strftime('%Y/%d/%m %H:%M:%S')elif ctype == 4:

cell= True if cell == 1 elseFalse

row_values.append(cell)

muti_content.append(row_values)returnmuti_contentdefwritrow(self,rows):#创建Excel工作薄

myWorkbook =xlwt.Workbook()#3. 添加Excel工作表

mySheet = myWorkbook.add_sheet('test')#4. 写入数据

#myStyle = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') #数据格式

for i inrange(len(rows)):for j inrange(len(rows[i])):

mySheet.write(i, j, rows[i][j])#写入A3,数值等于1

#5. 保存

myWorkbook.save('Wtest.xls')if __name__ == '__main__':

mysql=Mysql()

myexcel=Exceltable()#读单行

#cells=myexcel.readrow(3)

#print(cells)

#读整个表

#all_content = myexcel.readall()

#for cells in all_content:

#print(cells)

#mysql.insert(cells[0],cells[1],cells[2])

#读指定表

#muti_content=myexcel.readmutirow(1,3)

#for cells in muti_content:

#print(cells)

#mysql.insert(cells[0],cells[1],cells[2])

#查询数据库

#mysql.query()

#将数据库内容写入EXCEL

rows=mysql.readtable()

myexcel.writrow(rows)

mysql.end()

python自带库处理excel-python 学习(三)数据库、EXCEL处理相关推荐

  1. 十大被低估的Python自带库!

    大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们需要的库函数. 大家往往只是关注自己安装的pytho ...

  2. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

  3. 可爱的python测试开发库及项目(python测试开发工具库汇总)

    转载: https://www.jianshu.com/p/ea6f7fb69501 可爱的python测试开发库及项目(python测试开发工具库汇总) github地址 相关书籍下载 Python ...

  4. python自带idle_如何使用python自带IDLE

    下面从 python自带的IDLE,python的命令行,Windows命令行,三个方面介绍 如何使用python 一.python自带的IDLE和shell 1. 在开始菜单打开python的she ...

  5. python中csv库_关于python 自带csv库的使用心得 附带操作实例以及excel下乱码的解决...

    因为上次帮我们产品处理过一个文件,他想生成能excel处理操作的.但是上次由于时间非常紧张,所以并没有处理好. 正好无聊就来好好研究一下 ,找算法要了几个 csv文件.来好好玩一玩. 全篇使用了pyt ...

  6. 怎么装python的keras库_Keras 教程: Python 深度学习终极入门指南

    在这篇 Keras 教程中, 你将学到如何用 Python 建立一个卷积神经网络! 事实上, 我们将利用著名的 MNIST 数据集, 训练一个准确度超过 99% 的手写数字分类器. 开始之前, 请注意 ...

  7. python网络编程库_python网络编程学习笔记(9):数据库客户端

    一.DB-API概述 python支持很多不同的数据库.由于不同的卖家服务器导致和数据库通信的网络协议各有不同.在python的早期版本中,每一种数据库都带有自己的python模块,所有这些模块以不同 ...

  8. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

  9. python常用标准库有哪些-Python开发中常用的标准库

    大多数基于 Python 开发的应用程序都会用到本地标准库和三方库,这样不仅能让我们把时间去关注真正的业务开发,也能学习到更多价值含量高的程序设计和开发思想.程序开发中有一句著名的话叫做: Don't ...

  10. python人脸识别库_基于Python的face_recognition库实现人脸识别

    Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...

最新文章

  1. linux命令行ps1变量_利用Shell中变量PS1定制Linux Shell命令主提示符
  2. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别
  3. python下载地址
  4. Mybatis Interceptor 拦截器原理 源码分析
  5. 计算机在我国开始被应用于,计算机应用推动自动化与信息化的发展
  6. C++socket编程(四):4.2 创建XTcp动态链接库项目
  7. hadoop安装单机配置
  8. python verilog顶层连线_FPGA中顶层模块与各子模块之间的连接线类型
  9. 图形大小_光伏电池正面图形设计优化
  10. Python_随笔笔记_Python基础1
  11. 中了勒索病毒怎么办|文件解密|文件恢复
  12. (NO.00004)iOS实现打砖块游戏(一):素材的制作
  13. Mac环境下Android一键自动打包发布到蒲公英平台
  14. [技术讨论]为什么运算放大器有共模输入电压范围限制呢,详解在这里
  15. python对市场营销-python数据分析:商品数据化运营(上)——知识点
  16. 市面上几种常见的网络推广方式
  17. ES倒排索引与分词详解
  18. 易语言编写的WIfi热点共享工具 源码+成品
  19. 图解:光缆终端盒、尾纤的作用和接法
  20. 伪ios新浪微博客户端(自家用)

热门文章

  1. spring之Environment
  2. 博客园有人随笔总数10000+?
  3. python经典程序练习题-99道经典练习题助你全面掌握python基础知识,附技巧答案...
  4. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统
  5. python常见错误-python初学者常见的错误
  6. python 难度-Python分析 oj 网的题目难度和通过率的关系
  7. python读取大文件-Python如何读取、拆分大文件
  8. python基础实例-Python入门基础知识实例,
  9. 机器人编程语言python-入门篇丨使用EV3机器人,趣味学习Python编程语言~
  10. python运行程序-一文看懂python程序的执行过程