使用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求两个list的差集、交集与并集的方法
Nov 01 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
Python lambda函数基本用法实例分析
Mar 16 Python
便捷提取python导入包的属性方法
Oct 15 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
django的ORM操作 增加和查询
Jul 26 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
在python里创建一个任务(Task)实例
Apr 25 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
python+selenium实现12306模拟登录的步骤
Jan 21 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
基于mysql的bbs设计(三)
2006/10/09 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
javascript eval函数深入认识
2009/02/21 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
python的类变量和成员变量用法实例教程
2014/08/25 Python
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
Python实现线程池代码分享
2015/06/21 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
浅谈python中get pass用法
2019/03/19 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
工厂总经理岗位职责
2014/02/07 职场文书
《狼》教学反思
2014/03/02 职场文书
优秀班组申报材料
2014/12/25 职场文书
房产遗嘱范本
2015/08/06 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python