使用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读取word文本操作详解
Jan 22 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
用Python写一段用户登录的程序代码
Apr 22 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
linux安装python修改默认python版本方法
Mar 31 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
Python读写yaml文件
Mar 20 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
基于PHP编程注意事项的小结
2013/04/27 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
python删除文本中行数标签的方法
2018/05/31 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python中如何使用insert函数
2020/01/09 Python
python实现低通滤波器代码
2020/02/26 Python
python 实现单例模式的5种方法
2020/09/23 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
大学生社会实践自我鉴定
2014/03/24 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
反四风对照检查材料
2014/09/22 职场文书
个人总结怎么写
2015/02/26 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript