我希望每天都将现有数据转储到一个SQL表中。在
df.to_sql(table_name, engine, schema='dbo',
index=True, index_label='IdColumn',
if_exists='replace')
然而,在幕后,SQLAlchemy正试图用IdColumn VARCHAR(max)创建一个可以为null的表。所以SQL在尝试创建索引时会抛出一个错误。在
在向表中写入数据之前截断表是非常简单的,但是我觉得应该有一个更优雅的解决方案来解决这个问题。在
Tags:
考虑使用dtype参数,该参数接受字典将数据帧列名映射到指定的sqlalchemy data types。您可以尝试
Varchar
:或泛型
^{pr2}$String
类型,指定长度:如果希望将索引作为普通列写入sql表,可以在
to_sql
调用之前执行reset_index
:唯一的问题是该列的名称,如果要自定义列,则必须首先设置索引名(
df.index.name = 'IdColumn'
)或在reset\u索引后重命名。在相关问题 更多 >
编程相关推荐