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中使用select模块实现非阻塞的IO
Feb 03 Python
开始着手第一个Django项目
Jul 15 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
python中os模块详解
Oct 14 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
Python3.4解释器用法简单示例
Mar 22 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
详解Python 中的容器 collections
Aug 17 Python
pandas map(),apply(),applymap()区别解析
Feb 24 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可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python保存网页图片到本地的方法
2018/07/24 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
结婚周年感言
2014/02/24 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015年党员承诺书
2015/01/21 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python