使用python读取csv文件快速插入数据库的实例


Posted in Python onJune 21, 2018

如下所示:

# -*- coding:utf-8 -*-
# auth:ckf
# date:20170703
import pandas as pd
import cStringIO
import warnings
from sqlalchemy import create_engine
import sys

reload(sys)
sys.setdefaultencoding('utf8')
warnings.filterwarnings('ignore')

engine = create_engine(
 'postgresql+psycopg2://'数据库连接)

filename = sys.argv[1]
tablename = sys.argv[2]
print '=== csvname is',filename ,'tablename is',tablename,'==='

print 'read', filename, '...'
df = pd.read_csv(filename, sep=';')
print 'read', filename, 'done!'

print 'lets insert ...'
output = cStringIO.StringIO()
# ignore the index
df.to_csv(output, sep='\t',index = False, header = False)
output.getvalue()
# jump to start of stream
output.seek(0)

connection = engine.raw_connection()
cursor = connection.cursor()
# null value become ''
cursor.copy_from(output,tablename,null='')
connection.commit()
cursor.close()
print 'done!'

这个脚本可以直接运行,将csv文件放在同级目录即可。

csv第一列需要有列名,如果csv里没有列名,需要在代码中添加列名。

代码运行示例:python insert.py csvname tablename

以上这篇使用python读取csv文件快速插入数据库的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
Python实现的计数排序算法示例
Nov 29 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
Python PO设计模式的具体使用
Aug 16 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
学会Python数据可视化必须尝试这7个库
Jun 16 Python
详解python3中tkinter知识点
Jun 21 #Python
Python3用tkinter和PIL实现看图工具
Jun 21 #Python
Python3.4 tkinter,PIL图片转换
Jun 21 #Python
Python3实现转换Image图片格式
Jun 21 #Python
python3实现域名查询和whois查询功能
Jun 21 #Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 #Python
详解Python下ftp上传文件linux服务器
Jun 21 #Python
You might like
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
PHP实现下载功能的代码
2012/09/29 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
python spyder中读取txt为图片的方法
2018/04/27 Python
python监控文件并且发送告警邮件
2018/06/21 Python
python使用zip将list转为json的方法
2018/12/31 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
python 制作磁力搜索工具
2021/03/04 Python
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
营销与策划应届生求职信
2013/11/04 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
企业2014年度工作总结
2014/12/10 职场文书
工作自我推荐信范文
2015/03/25 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫