使用Python将CSV文件写入红移

使用Python将CSV文件写入红移

问题描述:

当我试图执行下面的脚本时,我收到一个错误“太多的参数”,我的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

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

检查查询中的中断 –