Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';t在google图表的javascript代码中获取json数据(ProjectPython Hello仪表板示例)_Javascript_Python_Google App Engine_Google Bigquery - Fatal编程技术网

我能';t在google图表的javascript代码中获取json数据(ProjectPython Hello仪表板示例)

我能';t在google图表的javascript代码中获取json数据(ProjectPython Hello仪表板示例),javascript,python,google-app-engine,google-bigquery,Javascript,Python,Google App Engine,Google Bigquery,Python Hello仪表板示例 我不能运行这个项目。这个项目在index.html文件中有一些问题:我无法获取DataTable的变量数据类型JSON(dict) geodata = {{ data }} // error geodata="{{data}}" //it is String not type JSON 累积原因错误行google.visualization.DataTable(地理数据) 请帮帮我 <script type='text/javascript'

Python Hello仪表板示例 我不能运行这个项目。这个项目在index.html文件中有一些问题:我无法获取DataTable的变量数据类型JSON(dict)

geodata = {{ data }} // error
geodata="{{data}}" //it is String not type JSON     
累积原因错误行google.visualization.DataTable(地理数据) 请帮帮我

<script type='text/javascript'>
 google.load('visualization', '1', {'packages':
   ['geochart']});
 google.setOnLoadCallback(drawMarkersMap);

 geodata = {{ data }} // error

 function drawMarkersMap() {
   if (! geodata) return;
   var data = new google.visualization.DataTable(geodata);

   var options = {
     region: 'US',
     displayMode: 'region',
     resolution: 'provinces',
     width: '800'
   };

   var chart = new google.visualization.GeoChart(
     document.getElementById('chart_div'));
   chart.draw(data, options);
};
</script>

load('visualization','1',{'packages':
[‘地球化学’]});
setOnLoadCallback(drawMarkersMap);
地理数据={{data}}//错误
函数drawMarkersMap(){
如果(!geodata)返回;
var data=新的google.visualization.DataTable(geodata);
变量选项={
地区:"美国",,
显示模式:“区域”,
决议:“各省”,
宽度:“800”
};
var chart=新的google.visualization.GeoArt(
document.getElementById('chart_div');
图表绘制(数据、选项);
};

请点击此链接:

您需要更彻底地阅读本教程

{{data}}
是一个模板占位符,它本身不是JSON(也不是有效的)。在本教程中,在渲染模板时将填充占位符:

@decorator.oauth_required
def get(self):
    data = { 'data': self._bq2geo(bq.Query(QUERY, BILLING_PROJECT_ID)),
             'query': QUERY }
    template = os.path.join(os.path.dirname(__file__), 'index.html')
    self.response.out.write(render(template, data))
数据
字典中的
数据
键提供要填写的值;
self.\u bq2geo()
方法生成JSON值:

def _bq2geo(self, bqdata):
    """geodata output for region maps must be in the format region, value.
       Assume the BigQuery query output is in this format and get names from schema.
    """
    logging.info(bqdata)
    columnNameGeo = bqdata['schema']['fields'][0]['name']
    columnNameVal = bqdata['schema']['fields'][1]['name']
    logging.info("Column Names=%s, %s" % (columnNameGeo, columnNameVal))
    geodata = { 'cols': ({'id':columnNameGeo,'label':columnNameGeo,'type':'string'},
      {'id':columnNameVal, 'label':columnNameVal, 'type':'number'})}
    geodata['rows'] = [];
    logging.info(geodata)
    for row in bqdata['rows']:
        newrow = ({'c':[]})
        newrow['c'].append({'v': 'US-'+row['f'][0]['v']})
        newrow['c'].append({'v':row['f'][1]['v']})
        geodata['rows'].append(newrow)
    logging.info('FINAL GEODATA---')
    logging.info(geodata)
    return json.dumps(geodata)

该方法返回一个JSON值,该值替换了
{{data}}
占位符字符串。

{{data}}
不是有效的Python,也不是有效的JSON或JavaScript。它是一个模板占位符,而不是JSON。它甚至在模板示例上方和下方的文本中告诉您这一点;JSON数据由另一种方法进一步生成并传递给模板。我如何将数据从变量数据检索到有效的google.visualization.DataTable正确地遵循教程,然后生成包含JSON数据的模板,就像教程所做的那样。数据:{data}}结果数据:{“rows”:[{“c”:[{“v”:“US-DC”},{“v”:……。我将结果复制并粘贴到google.visualization.DataTable({“rows”:[{“c”:[{“v”:“US-DC”},{“v”:…它可以运行,但我不知道如何使用变量来执行自动结果