返回顶部
首页 > 资讯 > 数据库 >python实现读取excel写入mysql的小工具详解
  • 763
分享到

python实现读取excel写入mysql的小工具详解

详解小工具python 2022-06-04 19:06:14 763人浏览 安东尼
摘要

Python是数据分析的强大利器 利用python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理。 这里向大家分享Python如何读取excel,并使用P

Python是数据分析的强大利器

利用python数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理。
这里向大家分享Python如何读取excel,并使用Python将数据存入Mysql中,有需要的朋友们一起来看看吧。

背景

需要导入全国高校名录到数据库,从教委网站下到了最新的数据,是excel格式,需要做一个工具进行导入,想试用一下python,说干就干。


xlrd : excel读写库 pymysql : mysql数据库驱动库,纯python打造 re : 正则表达式库,核心库

前两个用pip轻松完成安装,本人是在Mac pro是进行的,过程很顺利,以前在mac上装mysqlclient一直安装不上,所以一度放弃使用python,但我在linux下安装mysqlclient却没有任何问题。

源代码

很简单的小脚本,留存纪念。值得注意的一点,数据库连接字段串中要设定字符编码,不然默认是lanti-1,写入会出错。


import xlrd
import pymysql
import re

conn = pymysql.connect(host='database connect address', port=1234, user='root',
      passwd='****', db='database name', charset='utf8mb4')
p = re.compile(r's')
data = xlrd.open_workbook('./W020170616379651135432.xls')
table = data.sheets()[0]
t = table.col_values(1)
nrows = table.nrows
for i in range(nrows):
 r1 = table.row_values(i)
 if len(r1[2]) == 10:
  cur = conn.cursor()
  cur.execute('insert into `university` (`id`, `name`, `ministry`, `city`, `level`, `memo`) 
     values (%s, %s, %s, %s, %s, %s)',
     (r1[2], p.sub('', r1[1]), p.sub('', r1[3]), p.sub('', r1[4]), r1[5], r1[6]))
  conn.commit()
  cur.close()

conn.close()

心得

写惯了类C的语言,不太习惯python,想同时掌握两种风格的编程语言,好痛苦啊。python编程效率的确不错,这是我第一次用python写实用小程序,连查带写带调试,一共也就花了一个来小时。python库与资料丰富,不愁找不到合适的^_^

数据库写入优化

早上闲来无事,用批量写入优化了一下,任务秒完成,比一条条写入快了很多, 比我预想的差别还要大。看来,没有不好的工具,只是我们没有用好啊!


import xlrd
import pymysql
import re

conn = pymysql.connect(host='database connect address', port=1234, user='root',
      passwd='****', db='database name', charset='utf8mb4')
p = re.compile(r's')
data = xlrd.open_workbook('./W020170616379651135432.xls')
table = data.sheets()[0]
t = table.col_values(1)
nrows = table.nrows
ops = []
for i in range(nrows):
 r1 = table.row_values(i)
 if len(r1[2]) == 10:
  ops.append((r1[2], p.sub('', r1[1]), p.sub('', r1[3]), p.sub('', r1[4]), r1[5], r1[6]))

cur = conn.cursor()
cur.executemany('insert into `university_copy` (`id`, `name`, `ministry`, `city`, `level`, `memo`) 
     values (%s, %s, %s, %s, %s, %s)', ops)
conn.commit()
cur.close()

conn.close()

python读取excel文件遇到的问题

1、mac安装xlrd模块,如果cmd下执行pip install xlrd安装不成功,可以直接去官网下载,名称类似这样的文件xlrd-1.0.0-py3-none-any.whl,切换到已下载的文件路径在cmd下执行pip3 install xlrd-1.0.0-py3-none-any.whl即可
Http://pypi.python.org/pypi/xlrd

2、python打开excel报xlrd.biffh.XLRDError: Unsupported fORMat, or corrupt file: Expected BOF record; found b'username'

可以确认下要打开的excel保存时是不是本身就存在兼容性等格式提示,如果有的话,需要重新建一个不存在格式问题的文件


import xlrd
from os.path import join,abspath,dirname

fname = join(dirname(dirname(abspath(__file__))),'test1.xls')
bk = xlrd.open_workbook(fname, encoding_override="utf-8")
shxrange = range(bk.nsheets)
try:
sh = bk.sheet_by_name("工作表1")
# 获取行数
nrows = sh.nrows
# 获取列数
ncols = sh.ncols
print("nrows %d, ncols %d" % (nrows, ncols))
# 获取第一行第一列数据
cell_value = sh.cell_value(1, 1)
# print cell_value

row_list = []
# 获取各行数据
for i in range(0, nrows):
row_data = sh.row_values(i)
row_list.append(row_data)
except:
print("no sheet in %s named Sheet1" % fname)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: python实现读取excel写入mysql的小工具详解

本文链接: https://lsjlt.com/news/16011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现读取excel写入mysql的小工具详解
    Python是数据分析的强大利器 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理。 这里向大家分享python如何读取excel,并使用P...
    99+
    2022-06-04
    详解 小工具 python
  • Python实例详解pdfplumber读取PDF写入Excel
    本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于pdfplumber读取PDF写入Excel的相关问题,包括了pdfplumber模块的安装、加载PDF,以及一些实战操作等等,下面一起来看一下,希望对大家有帮助。PDF(P...
    99+
    2022-06-20
    python
  • 详解Python如何实现Excel数据读取和写入
    目录1. 功能分析2.系统开发环境3.安装依赖库4. 主函数设计5.模块设计1. 功能分析 1.加载文件夹内所有的Excel数据; 2.生产贡献度分析图表(以柱状图显示表格数据); ...
    99+
    2024-04-02
  • Python利用pdfplumber实现读取PDF写入Excel
    目录一、Python操作PDF 13大库对比二、pdfplumber模块1.安装2. 加载PDF3. pdfplumber.PDF类4. pdfplumber.Page类三、实战操作...
    99+
    2024-04-02
  • Python怎么实现Excel数据读取和写入
    这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce...
    99+
    2023-06-30
  • python实现读取excel表格详解方法
    目录一、python读取excel表格数据1、读取excel表格数据常用操作2、xlrd模块主要操作3、读取单元格内容为日期时间的方式4、读取合并单元格的数据二、python写入ex...
    99+
    2024-04-02
  • Python实现MySQL DBA小工具
      我们知道MySQL所有的运行状态统计信息都能从“show global status”语句的结果集中查看,该结果集保存的是从MySQL启动到当前时间之间各状态值的“总数”,对我们的分析不友好。在我们日常维护和优化中,我们需要持续的跟踪某...
    99+
    2023-01-31
    小工具 Python MySQL
  • Java利用poi读取Excel详解实现
    目录前言第一步导入依赖第二步实现测试类+测试实际应用前言 用户可以直接读取本地文件,也可以通过上传文件的形式读取excel 注意:poi对于读取到空白行的时候,会默认的认为是最后一行...
    99+
    2024-04-02
  • 利用Python实现读取Word表格计算汇总并写入Excel
    目录前言一、首先导入包二、读评价表所在的目录文件三、读word文件,处理word中的表格数据四、统计计算五、将统计计算结果写入汇总Excel完整代码总结前言 快过年了,又到了公司年底...
    99+
    2024-04-02
  • 怎么利用Python实现读取Word表格计算汇总并写入Excel
    这篇文章将为大家详细讲解有关怎么利用Python实现读取Word表格计算汇总并写入Excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级...
    99+
    2023-06-28
  • python写入Excel表格的方法详解
    目录一、写入Excel数据二、项目:更新一个电子表格2.1案例需求2.2案例源码总结一、写入Excel数据 週用openpyxl也提供了一些方法写入数据,这意味着你的程序可以创建和编...
    99+
    2024-04-02
  • EasyExcel工具读取Excel空数据行问题的解决办法
    EasyExcel是Alibaba开源的一个Java处理Excel的工具。 官网解读:快速、简洁、解决大文件内存溢出的java处理Excel工具 快速 快速的读取excel中的数据。...
    99+
    2022-11-13
    easyexcel读取空值 java easyexcel easyexcel读取空数据行
  • Python实现读取excel中的图片功能
    目录一、读取excel文件二、读取excel中的图片(1)使用zipfile模块(2)使用openpyxl读取三、对读取的图片进行处理补充一、读取excel文件 我们先来看看如何读取...
    99+
    2024-04-02
  • 详解Python读取和写入操作CSV文件的方法
    目录什么是 CSV 文件?内置 CSV 库解析 CSV 文件读取 CSV 文件csv将 CSV 文件读入字典csv可选的 Python CSV reader参数使用 csv 写入文件...
    99+
    2024-04-02
  • python中csv文件的写入与读取怎么实现
    这篇文章主要讲解了“python中csv文件的写入与读取怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中csv文件的写入与读取怎么实现”吧!CSV (Comma Sepa...
    99+
    2023-06-29
  • python 读取excel文件生成sql文件实例详解
    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次。这次是为了从excel文件中读取数据然后写入到数据库中。这个逻辑用java来写的话就太重了,所以这次考...
    99+
    2022-06-04
    文件 详解 实例
  • SpringBoot详解MySQL如何实现读写分离
    目录前言一、主从数据源的配置二、数据源路由的配置三、数据源上下文环境四、切换注解和Aop配置五、用法以及测试六、总结前言 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的...
    99+
    2024-04-02
  • Cassandra的读取和写入操作怎么实现
    Cassandra 是一个高性能的分布式数据库系统,其读取和写入操作可以通过 CQL(Cassandra Query Languag...
    99+
    2024-04-02
  • python读取与写入tif图片的完整信息(过程详解)
    目录python读取与写入tif图片的完整信息一、导入gdal包读取if写入tif补充:用python读取tif格式图像,opencv读取python读取与写入tif图片的完整信息 ...
    99+
    2023-05-18
    python读取与写入tif python写入tif
  • 通过amoeba工具实现配置mysql读写分离的方法介绍
    下面讲讲关于通过amoeba工具实现配置mysql读写分离的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完通过amoeba工具实现配置mysql读写分离的方法这篇文章你一定...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作