假设我使用SQLAlchemy将通用.csv文件上传到mssql服务器。
如何推断每列的类型?似乎必须明确声明一个列,例如{'myvar':Column(Integer)}。 SQLAlchemy或其他库是否有办法自行推断每列的数据类型?
VB有“TransferText”功能可以做到这一点,但我想在python中这样做。答案 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。