Python3读取Excel数据存入MySQL的方法


Posted in Python onMay 04, 2018

Python是数据分析的强大利器。

利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理。

这里向大家分享python3如何使用xlrd读取excel,并使用Python3操作pymysql模块将数据存入Mysql中,有需要的朋友们一起来看看吧。

前言

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

版本

python >= 3.6

mysql >= 5.7.19

安装

python、mysql的安装这里就不详细述说了,有需要的朋友自行百度

xlrd : 可以使用pip安装也可手动下载源码安装,pip安装:pip install xlrd

pymysql : 可以使用pip安装也可手动下载源码安装, pip安装: pip install xlrd

模块

import xlrd
import pymysql
from datetime import datetime
from xlrd import xldate_as_tuple

读取excel

data = xlrd.open_workbook("D:/sales_data.xls") //读取D盘中名为sales_data的excel表格
table_one = data.sheet_by_index(0)      //根据sheet索引获取sheet的内容
table_two = data.sheet_by_index(1)

创建数据库连接

db = pymysql.connect("localhost", "root", "gaishi123", "sales_data", use_unicode=True, charset="utf8")

gaishi123是mysql的root的密码,sales_data是数据库名

for site in sites:
 # 遍历sheet1
 for nrows_one in range(1, int(table_one.nrows)):
  if table_one.cell_value(nrows_one, 0) == site:
   payday = table_one.cell_value(0, 8)
   date = datetime(*xldate_as_tuple(payday, 0))
   payday = date.strftime('%Y/%m/%d')         # 出票日期
   sales = float(table_one.cell_value(nrows_one, 1))     # 销量
   quantity_ticket = int(table_one.cell_value(nrows_one, 2))   # 票数
   rate_electronic = float(table_one.cell_value(nrows_one, 3))  # 电子直销占比
   sales_thanlastweek = float(table_one.cell_value(nrows_one, 4))  # 销量同比上周
   sales_thanlastyear = float(table_one.cell_value(nrows_one, 5))  # 销量同比去年
   break
 # 遍历sheet2
 for nrows_two in range(1, int(table_two.nrows)):
  if table_one.cell_value(nrows_two, 0) == site:
   session = int(table_two.cell_value(nrows_two, 1))     # 访问量
   rate_conversion = float(table_two.cell_value(nrows_two, 2))  # 转化率
   rate_paysuccess = float(table_two.cell_value(nrows_two, 3))  # 支付成功率
   session_thanlastweek = float(table_two.cell_value(nrows_two, 4)) # 访问量同比上周
   break
 # 将数据存入数据库
 sql = "insert into sales_data(SITE, PAYDAY, SALES, QUANTITY_TICKET, RATE_ELECTRONIC, SALES_THANLASTWEEK," \
   "SALES_THANLASTYEAR, SESSION, SESSION_THANLASTWEEK, RATE_CONVERSION, RATE_PAYSUCCESS)" \
   " values ('%s','%s', %f, %d, %f, %f, %f, %d, %f, %f, %f)" %\
   (site, payday, sales, quantity_ticket, rate_electronic, sales_thanlastweek, sales_thanlastyear,
   session, session_thanlastweek, rate_conversion, rate_paysuccess)
 try:
  # 使用 cursor() 方法创建一个游标对象 cursor
  cursor = db.cursor()
  cursor.execute(sql)
 except Exception as e:
  # 发生错误时回滚
  db.rollback()
  print(str(e))
 else:
  db.commit() # 事务提交
  print('事务处理成功')

以上这篇Python3读取Excel数据存入MySQL的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python饼状图的绘制实例
Jan 15 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python获取array中指定元素的示例
Nov 26 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
opencv 图像轮廓的实现示例
Jul 08 Python
python3排序的实例方法
Oct 20 Python
Python Django路径配置实现过程解析
Nov 05 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
详解Django之admin组件的使用和源码剖析
May 04 #Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 #Python
使用python3+xlrd解析Excel的实例
May 04 #Python
对python中的xlsxwriter库简单分析
May 04 #Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 #Python
Python实现获取前100组勾股数的方法示例
May 04 #Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 #Python
You might like
对盗链说再见...
2006/10/09 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
原生JS进行前后端同构
2018/04/22 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
Python将图片转换为字符画的方法
2020/06/16 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
简单了解python变量的作用域
2019/07/30 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
大学生社团活动总结
2014/04/26 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
保研推荐信格式
2015/03/25 职场文书
简短清晨问候语
2015/11/10 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
SQL SERVER存储过程用法详解
2022/02/24 SQL Server