微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python pandas:仅将数据帧的导出结构(没有行)导出到SQL

我正在使用熊猫0.16和sqlalchemy.
是否可以将数据框的结构(即列名和数据类型,但没有行)导出到sql

我设法得到的最接近的是仅导出第一行:

df.ix[[0],:].to_sql( tablename, myconnection )

然后我必须做一个截断表.但是,to_csv和to_sql方法之间存在不一致:to_csv将布尔字段写为字符串’TRUE’或’FALSE’,而to_sql将它们写为0或1.这意味着使用dataframe创建导入文件.to_csv更复杂比应该的.

如果我跑

df.ix[[],:].to_sql( tablename, myconnection )

这不起作用,因为所有列都导出为文本.

解决方法:

您可以使用get_schema函数

from pandas.io.sql import get_schema

engine = ...
df = ..
get_schema(df, 'table_name', con=engine)

这将为您提供以字符串形式创建的模式,您可以使用engine.execute执行该模式

此外,to_sql将您的布尔数据写为0和1的原因是因为sql Server没有布尔数据类型(参见例如Is there a Boolean data type in Microsoft SQL Server like there is in MySQL?)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐