使用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标准库与第三方库详解
Jul 22 Python
Python挑选文件夹里宽大于300图片的方法
Mar 05 Python
python处理html转义字符的方法详解
Jul 01 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
Python Map 函数的使用
Aug 28 Python
python 用opencv实现霍夫线变换
Nov 27 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 Python
在python中实现导入一个需要传参的模块
May 12 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
网友原创的PHP模板类代码
2008/09/07 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
python+opencv实现阈值分割
2018/12/26 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
网络教育毕业生自我鉴定
2013/10/10 职场文书
应届生财务管理求职信
2013/11/06 职场文书
服装创业计划书范文
2014/02/05 职场文书
导购员的岗位职责
2014/02/08 职场文书
捐助倡议书范文
2014/04/15 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL
SpringBoot快速入门详解
2021/07/21 Java/Android