gpt4 book ai didi

python - 在 SQLAlchemy 列类型和 Python 数据类型之间轻松转换?

转载 作者:太空狗 更新时间:2023-10-30 00:30:37 25 4
gpt4 key购买 nike

我正在寻找一种简单的 python 方法来比较 SQLAlchemy 中的列类型与基本类型。例如,如果我的列类型是任意长度的 VARCHAR,我想将其作为字符串读取。

我可以很好地读取列类型,但我不确定是否有一种简单的方法来验证它是基本类型...如果我可以使用类似“if isinstance(mycolumn, int)”的东西就好了 - 但我我是 python 的新手,不确定它是如何工作的。

这是我目前所拥有的:

from sqlalchemy import MetaData
from sqlalchemy import create_engine, Column, Table
engine = create_engine('mysql+mysqldb://user:pass@localhost:3306/mydb', pool_recycle=3600)
meta = MetaData()
meta.bind = engine
meta.reflect()
datatable = meta.tables['my_data_table']
[c.type for c in datatable.columns]

输出:

[INTEGER(display_width=11), DATE(), VARCHAR(length=127), DOUBLE(precision=None, scale=None, asdecimal=True)]

我的最终目的有两个,首先是因为我想在将输出加载到我的 jQuery jqGrid 中时根据类型格式化输出。第二,我正在慢慢地将非规范化数据表转换为规范化结构,并希望确保我的类型保持一致 - (以确保我在上一个表中的数字存储为数字而不是字符串...... )

最佳答案

只需使用所有 AQLAlchemy 类型中可用的 python_type 属性:

[c.type.python_type for c in datatable.columns]

关于python - 在 SQLAlchemy 列类型和 Python 数据类型之间轻松转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com