python将数据插入数据库的代码分享


Posted in Python onAugust 16, 2020

python将数据插入数据库的方法:

  • 首先读入数据并建立数据库连接;
  • 然后创建数据库;
  • 接着执行插入数据语句,迭代读取每行数据;
  • 最后关闭数据库连接即可。

比如现在我们要将如下Excel数据表格插入到MySQL数据库中,该如何实现呢?

python将数据插入数据库的代码分享

实现代码:

#导入需要使用到的数据模块
import pandas as pd
import pymysql

#读入数据
filepath = 'E:\_DataSet\catering_sale.xls'
data = pd.read_excel(filepath)

#建立数据库连接
db = pymysql.connect('localhost','root','1234','python_analysis')
#获取游标对象
cursor = db.cursor()
#创建数据库,如果数据库已经存在,注意主键不要重复,否则出错
try:
    cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )')
except:
    print('数据库已存在!')

#插入数据语句
query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""

#迭代读取每行数据
#values中元素有个类型的强制转换,否则会出错的
#应该会有其他更合适的方式,可以进一步了解
for r in range(0, len(data)):
    num = data.ix[r,0]
    date = data.ix[r,1]
    sale = data.ix[r,2]
    values = (int(num), str(date), float(sale))
    cursor.execute(query, values)

#关闭游标,提交,关闭数据库连接
#如果没有这些关闭操作,执行后在数据库中查看不到数据
cursor.close()
db.commit()
db.close()

#重新建立数据库连接
db = pymysql.connect('localhost','root','1234','python_anylysis')
cursor = db.cursor()
#查询数据库并打印内容
cursor.execute('''select * from catering_sale''')
results = cursor.fetchall()
for row in results:
    print(row)
#关闭
cursor.close()
db.commit()
db.close()

知识点扩展:

数据库连接池

数据库的连接是昂贵的,一个连接要经过TCP三次握手,四次挥手,而且一台计算机的最大线程数也是有限的

数据库连接池技术就是先创建好连接,再直接拿出来使用

import mysql.connector,mysql.connector.pooling
 config={
  "host": "localhost", "port": "3306",
  "user": "root", "password": "password",
  "database": "demo"
 }
 try:
  pool=mysql.connector.pooling.MySQLConnectionPool(**config,pool_size=5)
  con=pool.get_connection()
  con.start_transaction()
  cursor = con.cursor()
  sql = "INSERT INTO t_dept(deptno,dname,loc) VALUES(%s,%s,%s);"
  cursor.execute(sql, (70, "SALES", "HUBAI"))
  con.commit()
 except Exception as e:
  if "con" in dir():
   con.rollback()
  print(e)
 # do not need to close con

到此这篇关于python将数据插入数据库的代码分享的文章就介绍到这了,更多相关python如何将数据插入数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
Python序列操作之进阶篇
Dec 08 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
python解决字符串倒序输出的问题
Jun 25 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Python3常用内置方法代码实例
Nov 18 Python
python 实现汉诺塔游戏
Nov 28 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 Python
python实现求纯色彩图像的边框
Apr 08 Python
详解Python高阶函数
Aug 15 #Python
python 19个值得学习的编程技巧
Aug 15 #Python
解析python 类方法、对象方法、静态方法
Aug 15 #Python
浅谈python锁与死锁问题
Aug 14 #Python
Python3.8安装Pygame教程步骤详解
Aug 14 #Python
Python configparser模块应用过程解析
Aug 14 #Python
PyCharm 2020.2 安装详细教程
Sep 25 #Python
You might like
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
学习ExtJS border布局
2009/10/08 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python isinstance函数介绍
2015/04/14 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Django REST framework内置路由用法
2019/07/26 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
校班主任推荐信范文
2013/12/03 职场文书
眼镜促销方案
2014/03/15 职场文书
汽车专业求职信
2014/06/05 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
员工工作表扬信
2015/05/05 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL