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基于pygame实现图片代替鼠标移动效果
Nov 11 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
python实现图像识别功能
Jan 29 Python
python3实现windows下同名进程监控
Jun 21 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
django ajax发送post请求的两种方法
Jan 05 Python
基于Python的Jenkins的二次开发操作
May 12 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
Pytorch实验常用代码段汇总
Nov 19 Python
python引入其他文件夹下的py文件具体方法
May 23 Python
总结三种用 Python 作为小程序后端的方式
May 02 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判断变量类型常用方法
2012/04/24 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
php表单处理操作
2017/11/16 PHP
jquery maxlength使用说明
2011/09/09 Javascript
json数据的列循环示例
2013/09/06 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
jquery图片切换插件
2015/03/16 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
Python splitlines使用技巧
2008/09/06 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
python 自动批量打开网页的示例
2019/02/21 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
详解python算法常用技巧与内置库
2020/10/17 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
应届大学生的推荐信
2013/11/20 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
运动会广播稿400字
2014/01/25 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书