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 list中append()与extend()用法分享
Mar 24 Python
python实现文件快照加密保护的方法
Jun 30 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
Python中有几个关键字
Jun 04 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
使用Python实现音频双通道分离
Dec 25 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
global.php
2006/12/09 PHP
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
js获取height和width的方法说明
2013/01/06 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
python numpy库np.percentile用法说明
2020/06/08 Python
python Scrapy框架原理解析
2021/01/04 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
学生处主任岗位职责
2013/12/01 职场文书
广告传媒专业应届生求职信
2014/03/01 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
施工安全责任书范本
2014/07/24 职场文书
2015最新民情日记范文
2015/06/26 职场文书
Python数据结构之队列详解
2022/03/21 Python