使用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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
python根据出生日期获得年龄的方法
Mar 31 Python
详解Python当中的字符串和编码
Apr 25 Python
Python实现模拟时钟代码推荐
Nov 08 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
python基于itchat模块实现微信防撤回
Apr 29 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
python如何查看网页代码
Jun 07 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
php中session退出登陆问题
2014/02/27 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
socket在egg中的使用实例代码详解
2019/05/30 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
Python单链表的简单实现方法
2014/09/23 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
教代会开幕词
2015/01/28 职场文书
招商银行收入证明
2015/06/17 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
小学一年级语文教学反思
2016/03/03 职场文书