使用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升级提示Tkinter模块找不到的解决方法
Aug 22 Python
用Python实现QQ游戏大家来找茬辅助工具
Sep 14 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
python爬取酷狗音乐排行榜
Feb 20 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
如何用python 操作zookeeper
Dec 28 Python
python opencv实现图像配准与比较
Feb 09 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 $_SERVER详解
2009/01/16 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
python如何生成各种随机分布图
2018/08/27 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
《雨点》教学反思
2014/02/12 职场文书
公路绿化方案
2014/05/12 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
五年级下册复习计划
2015/01/19 职场文书
MySQL锁机制
2021/04/05 MySQL
MySQL RC事务隔离的实现
2022/03/31 MySQL