javascript - 如何使用 json 和烧瓶将字符串数据从 pandas 数据帧传递到 google.visualization.DataTable
问题描述
我正在尝试使用谷歌词树构建一个 wordtree 数据可视化网站元素,并且flask
.
我采取的方法是基于这个答案,包括尝试实现此处推荐的格式,并且我也尝试过遵循本教程,但我word_trees.html
只是一直呈现空白页。
除了从更大的数据加载,虽然.csv
在实际应用程序中是等效的,相关部分app.py
是:
from flask import Flask, render_template
import pandas as pd
import gviz_api
#create to data
lst = ["You've stolen a 'PIZZA' my heart! @CfgLaw Than",
"Did your workplace buy you pizza for #national",
"So last week on #NationalPizzaDay I had plans|",
"Last week it was #NewStartersDay and #National",
"@JurysInnsHotels #NationalPizzaDay Wow! I’m dr"]
df = pd.DataFrame({'text':lst})
#initiate app
app = Flask(__name__)
#create gvis formatted data
def get_data():
# Creating the data
description = {"text": ("string", "Text")}
data = [{"text":"{}".format(text)} for text in df.text]
# Loading it into gviz_api.DataTable
data_table = gviz_api.DataTable(description)
data_table.LoadData(data)
# Creating a JSon string
json_string = data_table.ToJSon()
return json_string
#pass data to template
@app.route("/")
def word_trees():
data = get_data()
return render_template('word_trees.html',tweets=data)
if __name__ == "__main__":
app.run(debug=True)
并且word_trees.html
是:
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {packages:['wordtree']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(tweets);
);
var options = {
wordtree: {
format: 'implicit',
word: 'pizza',
type: 'double'
}
};
var chart = new google.visualization.WordTree(document.getElementById('wordtree_basic'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="wordtree_basic" style="width: 900px; height: 500px;"></div>
</body>
</html>
我希望该应用程序能够根据 中的数据呈现一个 wordtree df.text
,但它会一直呈现一个空白页面。
解决方案
推荐阅读
- python - 如何在 Python 中使用 Twitter API 进行多次调用
- android - Android - 在构建项目时
- php - 将文件中的字符串(stdobject)解析为stdobject
- c# - 如何为ChoicePrompt Bot framework V4 c#添加10多个按钮
- android - 仅支持 armeabi 和 x86 的 android 库的问题
- java - 自定义对象作为 Map 键
- c# - 单击按钮时调用控制器方法时需要将文本框值作为参数传递
- java - 卡桑德拉没有开始
- google-sheets - 如何将输入添加到运行列表
- python - Django serializer.data 包含不存在的值