以前我使用 CSV 来存储数据,我正在制作图表。 但现在我想知道如何使用 d3.js 从 PostgreSQL 获取数据。
如果有人知道请帮助我,我完全是PostgreSQL的新用户。
import psycopg2
import sys
from flask import Flask,render_template
import os
os.chmod("/home/dell/Charts/static/data/data.csv", 0o777)
con = None
con = psycopg2.connect("host='localhost' dbname='mydb' user='postgres' password='Password'")
cur = con.cursor()
cur.execute("""COPY data_lc TO '/home/dell/Charts/static/data/data.csv' DELIMITER ',' CSV HEADER;""")
cur.close()
此准则正常运作
但我想知道有没有办法直接从 D3.js
强烈要求获取 PostgreSQLhtml代码
<div class="panel panel-default">
<div class="panel-heading">
<h4>LineChart</h4>
</div>
<div class="panel-body">
<div id="linechart"></div>
</div>
</div>
<script src="static/js/Linechart.js"></script>
答案 0 :(得分:3)
您需要在flask中创建一个视图,以查询数据库并将结果作为json返回
import psycopg2
import sys
from flask import Flask,render_template
from flask import jsonify
@app.route('/data')
def send_data():
con = psycopg2.connect("host='localhost' dbname='mydb' user='postgres' password='Password'")
cur = con.cursor()
cur.execute("""select * from data_lc""")
data = [col for col in cur]
cur.close()
return jsonify(data)
然后使用d3,您可以使用
调用网址d3.json("https://your_flas_kapp.com/data").then(...)