如何在python flask app中将数据从postgresql渲染到csv?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python flask app中将数据从postgresql渲染到csv?相关的知识,希望对你有一定的参考价值。

我是python的新手,并试图在其中编写代码。我试图运行一个选择查询,但我无法将数据呈现给csv文件?

这是psql查询:

# copy (
# SELECT
# sr.imei,
# sensors.label,sr.created_at,
# sr.received_at,
# sr.type_id,
# 

但如何在python中编写它以将其呈现为csv文件?

感谢你,Vikas

答案
sql = "COPY (SELECT * FROM sensor_readings WHERE reading=blahblahblah) TO STDOUT WITH CSV DELIMITER ';'"
with open("/tmp/sensor_readings.csv", "w") as file:
    cur.copy_expert(sql, file)

我认为您只需要更改sql供您使用,它应该可以工作。

另一答案

通过psycopg2安装pip install psycopg2比你需要这样的东西

import csv
import psycopg2

query = """
        SELECT
        sr.imei,
        sensors.label,sr.created_at,
        sr.received_at,
        sr.type_id,
        sr.data FROM sensor_readings as sr LEFT JOIN sensors on sr.imei = sensors.imei
        WHERE sr.imei not like 'test%' AND sr.created_at > '2019-02-01'
        ORDER BY sr.received_at desc
    """

conn = psycopg2.connect(database="routing_template", user="postgres", host="localhost", password="xxxx")
cur = conn.cursor()
cur.execute(query)

with open('result.csv', 'w') as f:
    writer = csv.writer(f, delimiter=',')
    for row in cur.fetchall():
        writer.writerow(row)

conn.close()

以上是关于如何在python flask app中将数据从postgresql渲染到csv?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Flask中将下拉值存储到DB

如何在模板中将数据从 Flask 传递到 JavaScript?

在渲染模板中将变量从python(flask)传递给HTML?

如何从 Flask App 执行 Shell 脚本 [重复]

flask - 从 python 到 html 显示数据库

python flask 如何读取数据库数据并返回到html