Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Python google图表中json数据的数据类型不匹配_Python_Google App Engine_Google Visualization - Fatal编程技术网

Python google图表中json数据的数据类型不匹配

Python google图表中json数据的数据类型不匹配,python,google-app-engine,google-visualization,Python,Google App Engine,Google Visualization,我试图用谷歌图表把单词和它们的频率放在条形图上。我已经得到了所有的数据,我正在把它传递到网页上。在网页上,虽然我得到以下错误- 轴0的数据列不能是字符串类型 以下是获取该数据的代码- f = open('data/convertcsv.json') data = json.loads(f.read()) f.close() wordDict = {} for row in data: # print row['sentiment'] wordList = row['text'].

我试图用谷歌图表把单词和它们的频率放在条形图上。我已经得到了所有的数据,我正在把它传递到网页上。在网页上,虽然我得到以下错误- 轴0的数据列不能是字符串类型

以下是获取该数据的代码-

f = open('data/convertcsv.json')
data = json.loads(f.read())
f.close()
wordDict = {}
for row in data:
    # print row['sentiment']
    wordList = row['text'].split()
    for word in wordList:
         if len(word) < 4: continue
         if word in wordDict: wordDict[word] += 1
         else: wordDict[word] = 1
sorted_list = sorted(wordDict.iteritems(), key=operator.itemgetter(1))
final_list = sorted_list[-5:]
json_list = [['Word', 'Count']]
for item in final_list:
    json_list.append(list(item))
variables = {"politician_fname": politician_fname, "politician_lname": politician_lname, "popular_words": json.dumps(json_list)}
self.render_response('index.html', variables)

我怀疑问题在于,在传递给
arrayToDataTable
方法的数据中有一个额外的数组层。删除
{{popular|words | safe}}
周围的
[
]

var data = google.visualization.arrayToDataTable({{popular_words|safe}});

将这一部分分成两部分:var json=[[“单词”,“计数”],[“包含”,225],“政治家”,236],“投票”,258],“瓦拉纳西”,272],“纳伦德拉”,280],“时间”,290],“印度”,398],“#AAP”,409],“拉胡尔”,430],“莫迪”,441]]var data=google.visualization.arrayToDataTable(json);如果可以的话,试试看,因为我可以看到你的JSON数组是正确的。@AnkurJain-你能详细解释一下吗。我很抱歉,但我不明白我应该做什么。啊,我应该看到的。谢谢你。
[["Word", "Count"], ["included", 225], ["politician", 236], ["Vote", 258], ["Varanasi", 272], ["Narendra", 280], ["TIME", 290], ["Indian", 398], ["#AAP", 409], ["Rahul", 430], ["Modi", 441]]
var data = google.visualization.arrayToDataTable({{popular_words|safe}});