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 相关文章推荐
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
python装饰器与递归算法详解
Feb 18 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
利用Python实现Windows定时关机功能
Mar 21 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
python实现京东秒杀功能
Jul 30 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
Python高级property属性用法实例分析
Nov 19 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
python 下载m3u8视频的示例代码
Nov 11 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
2014/09/09 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
详解javascript函数的参数
2015/11/10 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python socket处理client连接过程解析
2020/03/18 Python
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
旅游个人求职信范文
2014/01/30 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
《在家里》教后反思
2014/03/01 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
护士2015年终工作总结
2015/04/29 职场文书
举起手来观后感
2015/06/09 职场文书
庆祝教师节主持词
2015/07/06 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
Python基础知识学习之类的继承
2021/05/31 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript