【发布时间】:2017-08-04 07:19:03
【问题描述】:
import psycopg2
import csv
#import operator
import pandas as pd
database = psycopg2.connect (database = "mydw", user="postgres",
password="1234", host="localhost", port="5432")
cursor = database.cursor()
a = pd.read_csv("test.csv")
b = pd.read_csv("test2.csv")
print ("Read file")
c = pd.concat([a, b], join='outer')
c.to_csv("sorted_data.csv", index=False)
mydata = cursor.execute(delete)
cursor.execute("""Create Table Real.region
(Country varchar(55),
Capital varchar(55),
State varchar(55),
City varchar(55),
Zip varchar(55)
);""")
for row in c:
cursor.execute("""INSERT INTO Real.region (Country, Capital, State,
City, Zip)"""\
"""VALUES (%s,%s,%s,%s,%s)""",(row,))
cursor.close()
database.commit()
database.close()
print("CSV 数据导入")
我正在尝试合并 2 个 CSV 文件并将生成的文件放入 数据库。但我面临错误------
文件“C:/Users/Administrator/join-col.py”,第 42 行,在
"""值 (%s,%s,%s,%s,%s)""",(行,))
IndexError: 元组索引超出范围
请帮忙
【问题讨论】:
-
试试
len(row)知道row中有多少项目。 -
"""VALUES (%s,%s,%s,%s,%s)""", row)怎么样,否则你只是传递一个值。
标签: python postgresql csv