我正在尝试解析csv并将其插入到本地数据库中。一切都很好,直到我得到一个错误:
错误:整型的语法不正确:“无”第1行:...workclass,education_num,marriage_status)VALUES('None ',NU...
我确信csv是好的,调试所有 Dataframe 的代码和光标循环,但在此之后,他向我发送了这个错误。Age和education_num是int,workclass和marriage_status是varchar。我该怎么办?
import psycopg2
import pandas as pd
url = 'https://raw.githubusercontent.com/akmand/datasets/main/adult.csv'
dataFrame = pd.read_csv(url)
print(dataFrame)
try:
with psycopg2.connect(
host="localhost",
user="dodle4532",
password="1111",
database="firstDataBase"
) as connection:
ex = """INSERT INTO "table" (age, workclass, education_num, marital_status) VALUES (%s, %s, %s, %s)"""
for i in range(0, dataFrame.size):
cursor.execute(ex, (str(dataFrame['age'].get(i + 1)), dataFrame['workclass'].get(i + 1),
str(dataFrame['education_num'].get(i + 1)), dataFrame['marital_status'].get(i + 1)))
1条答案
按热度按时间gpnt7bae1#
这可能与字符串插值有关(这需要在某种程度上完成,但我会避免直接传递值)。您可以通过检查
None
并将其改为"null"
(字符串)来修补此问题以获得基本版本但是,Pandas
.to_sql(...)
可以直接执行您想要的操作,同时https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html的速度也要快得多