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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Python3读取Excel数据存入MySQL的方法

本文地址: http://www.cppcns.com/shujuku/mysql/227038.html

python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法相关推荐

  1. Scrapy爬到的数据保存到csv后,用Excel打开乱码的解决方法

    右键文件,选择记事本打开,选择文件>另存为,编码选择ANSI>点击保存,打开xxx.csv 中文恢复正常

  2. Pandas的学习(读取mongodb数据库集合到DataFrame,将DataFrame类型数据保存到mongodb数据库中)

    1.读取mongodb数据库集合到DataFrame import pymongo import pandas as pdclient = pymongo.MongoClient("数据库连 ...

  3. halcon 将数据保存到excel_用C#操作Excel文件,实现与Sqlserver数据库进行导入与导出的操作。...

    [实例简介] 用C#3层结构对Excel文件与SqlServer数据库进行导入与导出 [实例截图] 1.将数据库中数据导出Excel文件中,其原理是先将数据库中的你所选择的一张表,先加载到DataGr ...

  4. php读取excel存入mysql数据库_PHP将Excel内容导入mysql数据库

    PHP将Excel内容导入mysql数据库 注:本文技术含量较低,是通过别人写的一个类来完成的,所以不要用金砖砸我.小生我怕怕!!! 1.首先需要一个读取excel的类(在附件中) 2.附件中有3个文 ...

  5. 爬取前尘无忧python职位信息并保存到mongo数据库

    1.re实现 1 import re,os 2 import requests 3 from requests.exceptions import RequestException 4 5 MAX_P ...

  6. Python读取excel文件内容并保存到SqlServer数据库

      前面两篇文章<python调用openpyxl包操作excel文件>和<python调用pymssql包操作SqlServer数据库>学习了Python操作excel和Sq ...

  7. 爬虫之数据保存到txt文本中

    本节为保存爬虫数据到txt文本中,还是以排行榜为例,上节可以看:爬虫之数据保存到csv,xlsx等Excel文件中 数据获取代码如下: import requests from fake_userag ...

  8. 将labview连续数据保存到mysql数据库器

    这一篇是在之前完成Labview和mysql连接,并且进行了简单的CRUD删除的基础上来的.我们一般不会拿Labview来做学生这种数据管理系统,而是对于基本传感器数据的采集和保存,而传感器采集数据会 ...

  9. mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

最新文章

  1. NVIDIA GPUs上深度学习推荐模型的优化
  2. Flutter开发之Stack组件(层叠布局)(19)
  3. exec函数组六个函数的用法和区别
  4. java linux urlencode_iOS urlEncode编码解码(非过时方法,已解决)
  5. JAVA里面main找不到符号_java – 带有NBAndroid的NetBeans – 找不到符号setContentView(R.layout.main);...
  6. stl max函数_C ++ STL中带有示例的array :: max_size()函数
  7. 软著文档鉴别材料_软著申请被驳回补正材料期限是多久?逾期未补正申请被撤回怎么办?...
  8. Rabbtmq 消费端-幂等性保障
  9. bigdecimal 科学计数转普通计数_通用计数器的应用价值
  10. C++ 单词查询程序
  11. 不求人,自己修电脑!电脑蓝屏代码查找全攻略
  12. mysql graler_安装Linux后常用的操作以及踩坑记录
  13. Vijos - 古韵之鹊桥相会(最短路||DFS)
  14. (三十一:2021.01.12)MICCAI 2018 追踪之论文纲要(下)
  15. 如何把拍摄视频中多余的人或物去除?
  16. python批量改文件名,截取原文件名的一部分
  17. java技术栈xmind,zookeeper面试
  18. 关于win7 32bit连接win10共享打印机0x0000011b解决办法
  19. matlab解比例导引法方程,[转载]比例导引法在三维制导中应用的程序详解与过程图解...
  20. 记录spacy安装英文包en出现E11004问题的解决方案

热门文章

  1. 使用Angular rxjs打印鼠标点击事件的x坐标之和
  2. Angular compiler报的一个错误消息:Component XX is not part of any NgModule
  3. SAP Analytics Cloud学习笔记(一):从CSV文件导入数据到Analytics Cloud里创建模型和Story
  4. SAP Fiori Elements - How complex binding defined in XML view is parsed
  5. 如何关闭Windows10任务栏里的应用图标
  6. SAP WebIDE UI5应用的几种启动方式
  7. dynamic change date type to sap.ca.ui.model.type.Date in Debugger
  8. How to include html native content to UI5 page - 直接在xml view里添加html namespace
  9. S/4HANA key user tool创建的Extension field,点了publish后的执行原理
  10. Spring注解原理学习之@Size and @Pattern