Pyt*_*ous 3 python sqlalchemy pandas
我正在使用 Pandas 0.16 和 sqlalchemy。是否可以仅将数据帧的结构(即列名和数据类型,而不是行)导出到 SQL?
我设法做到的最接近的是仅导出第一行:
df.ix[[0],:].to_sql( tablename, myconnection )
Run Code Online (Sandbox Code Playgroud)
然后我必须做一个截断表。但是,to_csv 和 to_sql 方法之间存在不一致:to_csv 将布尔字段写为字符串 'TRUE' 或 'FALSE' ,而 to_sql 将它们写为 0 或 1。这意味着导入使用 dataframe.to_csv 创建的文件更复杂比应该的。
如果我跑
df.ix[[],:].to_sql( tablename, myconnection )
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为所有列都导出为文本。
您可以使用该get_schema功能:
from pandas.io.sql import get_schema
engine = ...
df = ..
get_schema(df, 'table_name', con=engine)
Run Code Online (Sandbox Code Playgroud)
这将为您提供原本以字符串形式创建的架构,您可以使用它执行 engine.execute
此外,to_sql将您的布尔数据写为 0 和 1 的原因是因为SQL Server 没有布尔数据类型(参见例如Microsoft SQL Server 中是否有一个布尔数据类型,就像在 MySQL 中一样?)
| 归档时间: |
|
| 查看次数: |
2274 次 |
| 最近记录: |