使用python讀取csv文件快速插入數(shù)據(jù)庫的實例
如下所示:
# -*- 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://'數(shù)據(jù)庫連接)
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文件快速插入數(shù)據(jù)庫的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
探索Python?Slice函數(shù)靈活而強大的序列切片技術(shù)
Python中的Slice函數(shù)是一種強大且靈活的序列切片技術(shù),用于從字符串、列表、元組等序列類型中提取子集,本文將深入研究Slice函數(shù)的功能和用法,提供詳細(xì)的示例代碼和解釋,幫助讀者更全面地了解和應(yīng)用這一功能2024-01-01
Python調(diào)用SQLPlus來操作和解析Oracle數(shù)據(jù)庫的方法
這篇文章主要介紹了Python調(diào)用SQLPlus來操作和解析Oracle數(shù)據(jù)庫的方法,這樣用SQL*Plus方式來分析Oracle中的數(shù)據(jù)就變得十分方便,需要的朋友可以參考下2016-04-04
Python中字符串,列表與字典的常用拼接方法總結(jié)
有時在數(shù)據(jù)處理時,需要對數(shù)據(jù)進(jìn)行拼接處理,比如字符串的拼接、列表的拼接等,本文主要是介紹了字符串、列表、字典常用的拼接方法,希望對大家有所幫助2024-02-02
Pandas實現(xiàn)自定義Excel格式并導(dǎo)出多個sheet表
pandas默認(rèn)整合XlsxWriter驅(qū)動,可以自動化處理excel操作,并提供公式、設(shè)置單元格格式、可視化分析圖片等操作,本文就來和大家詳細(xì)聊聊2023-05-05
python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法
今天小編就為大家分享一篇python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

