2017-09-21 47 views
0

當我試圖執行下面的腳本時,我收到一個錯誤「太多的參數」,我的csv文件有大約28列和30行。所有的連接都正確做工精細的閱讀,沒有其他問題,因爲每個日誌我明白我不能在紅移使用Python將CSV文件寫入紅移

import psycopg2 
import csv 
import time 
import datetime 
import pandas as pd 
import sys 
reload (sys) 
sys.setdefaultencoding('utf8') 
psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) 
psycopg2.extensions.register_type(psycopg2.extensions.UNICODEARRAY) 
print('script sterts') 
connect=psycopg2.connect(dbname='db',host='***********',port=5439,user='****',password='********') 
cur=connect.cursor() 
print('begin execute') 
up_pgm_list = pd.read_csv ('/prod/user/home/dqe933/FNI.csv') 
with open('/prod/user/home/dqe933/FNI.csv', 'Ur') as csvfile: 
     spamreader=csv.reader(csvfile,delimiter=',') 
     for row in spamreader: 
       cur.execute("""INSERT INTO UD_INTERIM.dqe933_fni_new(col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11, 
      col12,col13,col14,col15,col16,col17,col18,col19,col20,col21,col22,col23,col24,col25,col26,col27,col28)values(?,?,?, 
      ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""",*row) 

print('complete')`enter code here` 
+0

csv文件是否有標題?如果是這樣,你需要跳過它。也看看cur.executemany() – J2112O

回答

0

row寫超過2個或3列表中不應該被解開。確保它是由項目組成的迭代。

cur.execute("""INSERT INTO UD_INTERIM.dqe933_fni_new(col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15,col16,col17,col18,col19,col20,col21,col22,col23,col24,col25,col26,col27,col28) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""", row) 
+0

它給了我另一個錯誤..任何想法??值(?,?,?,?,?,?,?,?,?,?,?,?, 「 psycopg2.ProgrammingError:句法錯誤處於或接近」,「 LINE 3」,「,」,「,」,「,」,「,」,「,」,「,」,「, :數值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?... –

+0

檢查查詢中的中斷 –