我正在使用熊猫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] 举报,一经查实,本站将立刻删除。