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抓取网页图片示例(python爬虫)
Apr 27 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python单元测试实例详解
May 25 Python
对python3中, print横向输出的方法详解
Jan 28 Python
使用浏览器访问python写的服务器程序
Oct 10 Python
python中的RSA加密与解密实例解析
Nov 18 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python多线程正确用法实例解析
May 30 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 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
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
PHP加密解密实例分析
2015/12/25 PHP
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
python 获取本机ip地址的两个方法
2013/02/25 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
自动化专业本科毕业生求职信
2013/10/20 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
创业女性典型材料
2014/05/02 职场文书
工程售后服务承诺书
2014/05/21 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
重点工程汇报材料
2014/08/27 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
安阳殷墟导游词
2015/02/10 职场文书
城南旧事读书笔记
2015/06/29 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
全民创业工作总结
2015/08/13 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
外出学习心得体会范文
2016/01/18 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python