使用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在linux中输出带颜色的文字的方法
Jun 19 Python
Python实现简单过滤文本段的方法
May 24 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
Python生成器的使用方法和示例代码
Mar 04 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
python反爬虫方法的优缺点分析
Nov 25 Python
详解Python openpyxl库的基本应用
Feb 26 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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实现禁用IE和火狐的缓存问题
2012/12/03 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
PHP的几个常用加密函数
2016/02/03 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
对python3 urllib包与http包的使用详解
2018/05/10 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
python 代码运行时间获取方式详解
2020/09/18 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
运动会广播稿150字
2014/02/19 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
学校联谊协议书
2014/09/16 职场文书
先进单位申报材料
2014/12/25 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书