【发布时间】:2019-01-28 05:12:31
【问题描述】:
我有一个像这样的简单数据框
df = pd.DataFrame({"A":[1, 2, 3], "B":["a", "b", "c"]})
我想使用 to_sql 方法将此数据框写入 vertica 数据库。所以我使用 vertica_python 模块,我的代码如下
import pandas as pd
import vertica_python
cxn = {"user":'myuser',
"password":'mypassword',
"host":'xx.x.x.xx',
"port":yyyy,
"database":"mydb"}
engine = vertica_python.connect(**cxn)
df = pd.DataFrame({"A":[1, 2, 3], "B":["a", "b", "c"]})
df.to_sql("df", index=False, if_exists="replace", con=engine, schema="public", dtype={"A":"int", "B":"int"})
然后我得到了数据库错误,我无法按如下方式修复它。
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': not all arguments converted during string formatting
我可以就如何解决这个问题提出您的建议吗?非常感谢。
【问题讨论】:
-
您已将 B 列的类型指定为
int将其转换为object即str列