栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python内的xlrd模块及pymysql模块

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python内的xlrd模块及pymysql模块

文章目录
  • 前言
  • 一、xlrd
    • 1、什么是xlrd?
    • 2、用法
  • 二、pymysql
    • 1、什么是pymysql?
    • 2、用法
  • 三、案例
  • 总结


前言

        Hello,各位小伙伴大家好,我是紫水晶的微光。本篇文章介绍Python的xlrd模块及pymysql模块的用法。快来跟我一起学习吧!


一、xlrd 1、什么是xlrd?

    xlrd是Python操作读取excel的库。

2、用法
  1. 导入xlrd模块
import xlrd
  1. 打开Excel表
book = xlrd.open_workbook(r"体温表.xlsx",encoding_override=True)

    第一个参数为excel表所在路径,如果路径里有中文,需要在路径前面写个r。

  1. 获取选项卡

    (1)通过索引获取(索引从0开始)

sheet = book.sheet_by_index(0)

    (2)通过名字获取

sheet = book.sheet_by_name("体温记录")
  1. 获取行数和列数

    (1)获取excel表行数

rows = sheet.nrows

    (2)获取excel表列数

cols = sheet.ncols
  1. 获取数据(从excel表左上角为原点向右从0开始获取列数据,向下从0开始获取行数据)

    (1)横向获取数据

for i in range(rows):
	data = sheet.row_values(i)

    (2)纵向获取数据

for i in range(cols):
	data = sheet.col_values(i)
二、pymysql 1、什么是pymysql?

PyMySQL是Python连接MySQL数据库服务器的接口。

2、用法
  1. 导入pymysql模块
import pymysql
  1. 连接MySQL数据库
con = pymysql.connect(host=host,user=user,password=password,database=database,charset="utf8")

    host:连接数据库的主机地址
    user:数据库的用户名
    password:数据库的密码
    database:数据库的名称
    charset:数据库的字符编码集

  1. 获取游标
cur = con.cursor()
  1. 执行sql语句
cur.execute(sql,param)

    sql:SQL语句
    param:参数

  1. 提交sql语句
con.commit()

备注: 除了查询不需要提交外,其他都需要提交。

  1. 关闭资源
cur.close()
con.close()

注意: 关闭资源时遵循先打开的后关闭,后打开的先关闭。

三、案例

案例:将excel表存入数据库
例:excel表内容

  1. 封装的数据库工具代码:
import pymysql

host = "localhost"
user = "root"
password = "123456"
database = "temperature"

def DMLupdate(sql,param):
    con = pymysql.connect(host=host,user=user,password=password,database=database,charset="utf8")
    cur = con.cursor()
    cur.execute(sql,param)
    con.commit()
    cur.close()
    con.close()
    
def DQLselect(sql, param,mode="all",size=1):
    con = pymysql.connect(host=host,user=user,password=password,database=database,charset="utf8")
    cur = con.cursor()
    cur.execute(sql,param)
    if mode == "all":
        return cur.fetchall()
    elif mode == "one":
        return cur.fetchone()
    elif mode == "many":
        return cur.fetchmany(size)
    cur.close()
    con.close()
  1. 主要代码:

注意: 创建数据库表的时候要设置字符集编码为utf8,否则插入数据库的中文为乱码。

import xlrd
from DatabaseUtils import *

#打开excel表
book = xlrd.open_workbook(r"体温表.xlsx",encoding_override=True)

#获取选项卡
sheet = book.sheet_by_index(0)

#创建数据表
sql = "create table 体温表(姓名 varchar(15)," 
      "日期 timestamp," 
      "温度 double," 
      "联系电话 char(15))DEFAULT CHARSET=utf8;"
param = []
DMLupdate(sql,param)

#获取行数
rows = sheet.nrows

#横向获取数据
for i in range(1,rows):
    data = sheet.row_values(i)
    #给数据库表里插入数据
    sql1 = "insert into 体温表 value (%s,%s,%s,%s)"
    date1 = xlrd.xldate.xldate_as_datetime(data[1],0)
    param1 = [data[0],date1,data[2],data[3]]
    DMLupdate(sql1,param1)

结果:数据库表的内容


总结

        本篇文章到这里就结束了,欢迎各位小伙伴点赞、评论、关注。我们共同学习,一起进步!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354751.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号