在dict python中将多个值映射到一个

时间:2017-08-15 14:32:30

标签: python postgresql python-3.x google-bigquery

我想将一些数据从postgres移到BigQuery。

为此我可以查询postgres表来获取模式,然后我映射数据类型。

lookup = {
    'char': 'STRING',
    'character': 'STRING',
    'varchar': 'STRING',
    'character varying': 'STRING',
    'text': 'STRING'}

我的问题是,我可以这样做,我可以提供一个列表(或与STRING对应的值的元组。

类似的东西,处于非常压缩的角度:

lookup = {
      lambda x: if x in ['char', 'character' ... ] : 'STRING' else if x in ['int'] : 'INTEGER' else None
}

这将返回数据类型

lookup['char']
> STRING

1 个答案:

答案 0 :(得分:1)

虽然我同意提出为什么?的评论,但如果您认为它更好,那么您可以这样做,并且阅读起来并不难:

?reg.finalizer