列类型SQLAlchemy

时间:2016-07-05 10:05:49

标签: sql-server python-2.7 sqlalchemy

假设我使用SQLAlchemy将通用.csv文件上传到mssql服务器。

如何推断每列的类型?似乎必须明确声明一个列,例如{'myvar':Column(Integer)}。 SQLAlchemy或其他库是否有办法自行推断每列的数据类型?

VB有“TransferText”功能可以做到这一点,但我想在python中这样做。

1 个答案:

答案 0 :(得分:0)

根据您的数据,您只需使用ast.literal_eval即可轻松获胜。

import ast

assert isinstance(ast.literal_eval('1'), int)
assert isinstance(ast.literal_eval('1.0', float)
assert isinstance(ast.literal_eval('True', bool)
assert isinstance(ast.literal_eval('"foobar"', basestring)

您还可以使用更复杂的内容,例如提供type_guess方法的messytables

http://messytables.readthedocs.io/en/latest/