python - 如何使用 Python 将变量中的列值插入到 Postgres 中?

标签 python postgresql

我有一个json数据要插入到表中, 这是 JSON 数据,

data1 = [
    {
        'Design Project': 'Not Available',
        'Design Target*': 'Not Available',
        'Median Property*': '50',
        'Metric': 'ENERGY STAR score (1-100)'
    },
    {   
        'Design Project': 'Not Available',
        'Design Target*': '35.4',
        'Median Property*': '141.4',
        'Metric': 'Source EUI (kBtu/ft\\u00b2)'
    },
    {   
        'Design Project': 'Not Available',
        'Design Target*': '15.8',
        'Median Property*': '63.1',
        'Metric': 'Site EUI (kBtu/ft\\u00b2)'
    },
    {   
        'Design Project': 'Not Available',
        'Design Target*': '3,536.0',
        'Median Property*': '14,144.1',
        'Metric': 'Source Energy Use (kBtu)'
    },
    {   
        'Design Project': 'Not Available',
        'Design Target*': '1,578.7',
        'Median Property*': '6,314.9',
        'Metric': 'Site Energy Use (kBtu)'
    },
    {   
        'Design Project': 'Not Available',
        'Design Target*': '34.61',
        'Median Property*': '138.44',
        'Metric': 'Energy Cost ($)'
    },
    {   
        'Design Project': '0.0',
        'Design Target*': '0.2',
        'Median Property*': '0.6',
        'Metric': 'Total GHG Emissions (Metric Tons CO2e)'
    }
]

我有表结构,

project_id | metric | design_target | median_property | design_project 
-----------+--------+---------------+-----------------+---------------

我有一个 project_id 变量,例如,

项目 ID = 400

我尝试将数据插入到 Postgres 中的表中的查询,

cur.executemany(
    """INSERT INTO Metric_Comparison(Project_id, Metric, Design_Target, Median_Property, Design_Project) 
       VALUES (%(PROJECT_ID)s, %(Metric)s, %(Design Target*)s, %(Median Property*)s, %(Design Project)s)""",
    data1
)

如何在插入表时附加项目 ID?

最佳答案

如何通过查询的字符串格式设置项目 ID?

PROJECT_ID = 400

cur.executemany("""
    INSERT INTO Metric_Comparison 
      (Project_id,Metric,Design_Target,Median_Property,Design_Project) 
      VALUES ({}, %(Metric)s, %(Design Target*)s, %(Median Property*)s, %(Design Project)s)
    """.format(PROJECT_ID), data1)

关于python - 如何使用 Python 将变量中的列值插入到 Postgres 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47593060/

相关文章:

Python:从json文件获取最大值

python - 是否有适用于 Python 的首选 BDD 样式单元测试框架?

django - 当角色实际存在时, 'role does not exist' 错误怎么可能

python - 从 SQLAlchemy 插入到 Postgres 数据库

postgresql - ST_Overlaps 和 ST_intersects

python - 如何绘制多元线性回归的最佳拟合平面?

python - PYSNMP 代理在十六进制值解码后返回新行字符作为输出

postgresql - Postgres - 解码特殊字符

database - 恢复超过 20gb 的 postgres sql 文件

python - 如何在 Python 中访问父类(super class)的类属性?