Я новичок в работе с Python 3.7 (анаконда) + PostgreSQL. Задача состоит в том, чтобы поместить данные в базу данных PostgreSQL, но я продолжаю получать эту вещь:
Traceback (most recent call last):
File "/Users/gshn/PycharmProjects/StatsWithPandasRSQL/Pandas/load_data_to_postgres.py", line 37, in <module>
[Id] + row
IndexError: list index out of range
Как я могу это исправить?
Сам код:
import psycopg2
import csv
conn = psycopg2.connect("host=localhost port=5433 dbname=gshn user=postgres password=secret")
cursor = conn.cursor()
query = """
CREATE TABLE IF NOT EXISTS adult_data (
id SERIAL PRIMARY KEY,
age INTEGER,
workclass VARCHAR,
fnlwgt INTEGER,
education VARCHAR,
education_num INTEGER,
marital_status VARCHAR,
occupation VARCHAR,
relationship VARCHAR,
race VARCHAR,
sex VARCHAR,
capital_gain INTEGER,
capital_loss INTEGER,
hours_per_week INTEGER,
native_country VARCHAR,
salary VARCHAR
)
"""
cursor.execute(query)
conn.commit()
with open('/Users/gshn/PycharmProjects/StatsWithPandasRSQL/Pandas/adult_data.csv', 'r') as f:
reader = csv.reader(f)
# Skip the header row
next(reader)
for Id, row in enumerate(reader):
cursor.execute(
"INSERT INTO adult_data VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
[Id] + row
)
conn.commit()