我尝试使用psycopg2
使用文件对象将csv文件批量复制到表,并且它正在读取csv文件中的内容作为浮点数。我的理解是,我无法将数据框传递给copy_from
或copy_expert
并正确投射。如何在文件读取期间转换数据类型或使用不同的方法完全解决此问题?我需要指定大小以克服数据库服务器的限制。谢谢!
sql_statement = "COPY " + table_name + " FROM STDIN with csv"
with open(data_dir + r'/' + file) as f:
next(f)
curs.copy_expert(sql_statement, f, size = 8192)
conn.commit()
curs.close()
DataError:整数的输入语法无效:" 1.0"
PS:使用df.to_sql
逐行写入时数据导入有效。如果我将该特定列的数据类型更改为双精度,则导入成功