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异步回调机制实现和使用方法
Nov 26 Python
Python实现程序的单一实例用法分析
Jun 03 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
Oct 11 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
python实现TF-IDF算法解析
Jan 02 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
keras实现调用自己训练的模型,并去掉全连接层
Jun 09 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
Jun 22 Python
python破解同事的压缩包密码
Oct 14 Python
如何利用python 读取配置文件
Jan 06 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中的traits简单使用实例
2015/05/13 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
Python 专题四 文件基础知识
2017/03/20 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
简单了解python单例模式的几种写法
2019/07/01 Python
在django view中给form传入参数的例子
2019/07/19 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
分享一个python的aes加密代码
2020/12/22 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
承诺书格式
2014/06/03 职场文书
绘画专业自荐信
2014/07/04 职场文书
教师个人学习总结
2015/02/11 职场文书
小学国庆节活动总结
2015/03/23 职场文书
2015年工商所工作总结
2015/05/21 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
详解Python为什么不用设计模式
2021/06/24 Python