数据库实操——pandas写入数据库数据
1、Mysql
(1)插入数据
因为pymysql不识别除%s之外的其他字符,例如%d,%f,因此,将sql语句的values全部设置为%s
def insertdata(data,table_name,connect):c_name = str(data.columns.tolist()).replace("'","").replace("[",'').replace("]",'').replace(" ","")c_type = str(['%s' for i in range(len(data.columns.tolist()))]).replace("'","").replace("[",'').replace("]",'').replace(" ","")data = [tuple(data.iloc[i]) for i in range(data.shape[0])]sql = "insert into "+str(table_name)+"("+str(c_name)+") Values("+str(c_type)+");"cursor = connect.cursor()try:cursor.executemany(sql, data)except Exception as e:print("执行MySQL: %s 时出错:%s" % (sql, e))connect.rollbackfinally:cursor.close()connect.commit()connect.close()t = pd.DataFrame([[1,2],[3.0,4.0]] ,columns=['t1','t2'])
#connect是连接数据库信息
insertdata(t,'test',connect)
2、Oracle
(1)插入数据
def insert_multiple(table_name, data, conn_db):"""multiple insertparameters:*) table_name : table_name to load*) df : dataframe to load*) conn_db : a connection object from cx_oracle or open_connection*) batch_size : batch size of commit"""cur = conn_db.cursor()sql = "INSERT INTO {0} ({1}) VALUES (:{2})".format(table_name,', '.join(data.columns),', :'.join(list(map(str,range(1, len(data.columns)+1)))))
# print(sql) rows = []for x in data.values:rows.append([None if pd.isnull(y) else y for y in x])cur.executemany(sql,rows) conn_db.commit()conn_db.close()
数据库实操——pandas写入数据库数据相关推荐
- MySQL数据库实操教程(10)——删除数据
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- MySQL数据库实操教程(26)——数据库设计软件Power Designer
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl Power Designer概述 Power Designer 是美国Sybase公司的CAS ...
- MySQL数据库实操教程(18)——数据库事务及其隔离级别
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- MySQL数据库实操教程(23)——数据库备份与还原
自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...
- 巨杉数据库学习笔记+巨杉数据库实操项目实践
@TOC巨杉数据库学习笔记+项目实践心得 SequoialDB简介 SequoiaDB 巨杉数据库是一款金融级分布式数据库,主要面对高并发实时处理型场景提供高性能.可靠稳定以及无限水平扩展的数据库服务 ...
- mysql教程乛it教程网_MySQL数据库实操教程(35)——完结篇
版权声明 专栏概况 从2019年7月21日至今,约莫一个月的时间终于写完了MySQL教程,我已将其集结在专栏<MySQL数据库实操教程>,概述如下: 共计35篇文章 每篇文章均附源码和运行 ...
- MySQL数据库实操教程(35)——完结篇
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 专栏概况 从2019年7月21日至今,约莫一个月的时间终于写完了MySQL教程,我已将其集结在 ...
- node sqlite 插入数据_方便且实用,Python内置的轻量级数据库实操
之前我们在很多项目案例中都使用了MySQL数据库.有的同学问:MySQL安装和配置太麻烦了,老是搞不定,有没有更简便的方法? 当然有咯! Python内置的sqlite3模块就是一个轻量级的数据库,不 ...
- 学完理论后在收藏夹里吃灰?接着教你实操创建主数据库
我们已经讨论了主数据库背后的想法,是时候实际构建一个了.为此,我们将使用两种开源技术:MySQL数据库和Python编程语言.在本文的最后,您将拥有一个成熟的安全证券数据库,您可以使用它来进行量化交易 ...
最新文章
- Dynamics CRM 导入用户数据错误 could not retrieve salesperson role
- python 音乐下载演示源代码
- fmpeg 编译编码 _libx264和librtmp
- LNMP(nginx php-fpm mysql) 环境部署——mysql
- [res].xml格式
- Python矩阵的用法(使用numpy)
- 三次握手和四次挥手图解_TCP三次握手和四次挥手详解
- Linux进程管理+内存管理:进程切换的TLB处理(ASID-address space ID、PCID-process context ID)
- 【李宏毅机器学习】04:梯度下降Gradient Descent
- GEE 导入shp数据-裁剪影像
- 乌龟Git clone失败错误码128解决办法
- 3DMine安装教程(附详细图文安装步骤)
- 20190303-AJAX教程
- react-native代码改动 夜神模拟器怎么热更新
- docker-compose安装kafka
- 解决远程windows server12桌面复制文件大于2G出错问题
- 逆水寒2021最新服务器,2021年3月25日常规服务器合并投票结果公告
- 如何从零搭建自动化测试框架
- Python系统学习-26
- 中国独角兽上市潮,爱奇艺优信小米值得投资吗? | 一点财经
热门文章
- i++与++i的区别,使用实例说明
- spring+ibatis配置
- 数据结构中的逻辑结构简介
- pyecharts对于经纬度_一文带你掌握Pyecharts地理数据可视化的方法
- python网络攻击代码_Python-python网络编程写arp攻击代码
- 大数据之Spark集群安装及简单使用
- kotlin编译失败_Kotlin使用GraalVM开发原生命令行应用
- python 递归函数与循环的区别_提升Python效率之使用循环机制代替递归函数
- python 多线程并发_寻找python大神!!!python如何多线程并发?
- ubuntu14.04安装 R16 Tina Linux SDK