- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 javascript 代码,它调用 python 文件并在结果中接收 json 响应:
<script>
$.ajax({
url: "read_excel.py",
type: "GET",
// data: data,
success: function(response){
$("#loader").addClass("hide");
console.log(response);
response = JSON.parse(response);
FusionCharts.ready(function () {
var topProductsChart = new FusionCharts({
type: 'multilevelpie',
renderAt: 'chart-container',
id : "myChart",
width: '500',
height: '500',
dataFormat: 'json',
dataSource: {
"chart": {
"caption": "Word Frequency",
"subCaption": "Location Wise",
"captionFontSize": "14",
"subcaptionFontSize": "14",
"baseFontColor" : "#333333",
"baseFont" : "Helvetica Neue,Arial",
"basefontsize": "9",
"subcaptionFontBold": "0",
"bgColor" : "#ffffff",
"canvasBgColor" : "#ffffff",
"showBorder" : "0",
"showShadow" : "0",
"showCanvasBorder": "0",
"pieFillAlpha": "60",
"pieBorderThickness": "2",
"hoverFillColor": "#cccccc",
"pieBorderColor": "#ffffff",
"useHoverColor": "1",
"showValuesInTooltip": "1",
"showPercentInTooltip": "0",
"numberPrefix": "$",
"plotTooltext": "$label, $$valueK, $percentValue"
},
"category": [
{
"label": "Word Frequency By Location",
"color": "#ffffff",
"value": "150",
"category": response
}
]
}
});
topProductsChart.render();
});
},
error: function(html){
console.log("error");
}
});
</script>
python 脚本:
#!/usr/bin/python
import re
import csv
import json
import cgi
import random
import pprint
import traceback
from collections import Counter
from nltk.corpus import stopwords
class ReadCSV(object):
"""docstring for ReadExcel"""
def __init__(self):
self.all_location = []
self.location_wise_tags = []
self.frmt_location_tags = []
self.stop_words = stopwords.words('english')
def hexColor(self):
r = lambda: random.randint(0,255)
return '#%02X%02X%02X' % (r(),r(),r())
def wd_freq(self, tags):
dict_word_freq = Counter(tags)
dict_word_freq = [{ k: v } for k, v in dict_word_freq.iteritems() if k not in self.stop_words]
return dict_word_freq
def format_json(self, location, dict_word_freq):
color = self.hexColor()
self.frmt_location_tags.append( {"label" : location, "color": color, "value": str(len(dict_word_freq)), "category" : [] } )
for d_w in dict_word_freq:
self.frmt_location_tags[-1]["category"].append( {"label": d_w.keys()[0], "color": color, "value": str(d_w.values()[0])} )
# pprint.pprint( self.frmt_location_tags )
def readSheet(self):
with open('all.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile.read().splitlines())
i = 0
for row in spamreader:
try:
i += 1
text = row[8]
location = row[10]
n_location = re.findall( re.compile(ur'(\w+=)') , location)
if n_location:
n_location = n_location[0][0: len(n_location[0]) - 1]
location = n_location
# print text, "---" , location
tags = self.findTags(text)
if location not in self.all_location:
if self.all_location:
dict_word_freq = self.wd_freq( sum(self.location_wise_tags, []) )
self.format_json( self.all_location[-1], dict_word_freq )
self.location_wise_tags = []
self.all_location.append(location)
self.location_wise_tags.append(tags)
else:
self.location_wise_tags.append(tags)
if i > 20:
break
except Exception:
# import traceback
# print traceback.format_exc()
# print location
pass
def findTags(self, text):
pattern = re.compile(ur'(#\w+)|(@\w+)')
return [filter(None, x)[0] for x in re.findall(pattern, text)]
def run(self):
self.readSheet()
return self.frmt_location_tags
if __name__ == '__main__':
try:
#print "\n"
result = ReadCSV().run()
json_string = json.dumps( result )
print json_string
except Exception:
import traceback
print traceback.format_exc()
看起来像:
[
{"color": "#448DB2", "value": "1", "label": "#buddiez"},
{"color": "#448DB2", "value": "2", "label": "#instaedit"},
{"color": "#448DB2", "value": "1", "label": "#Carefree"},
{"color": "#448DB2", "value": "1", "label": "#Ican"},
{"color": "#448DB2", "value": "1", "label": "#streetlight"}
], "value": "3405", "label": "Ahmedabad"}]
当我运行我的 html 文件时,它会在控制台中显示此消息:
not well-formed read_excel.py:1:2
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data graphs.html:27:36
有什么地方出错的建议吗?
更新:
现在按照 Anup 的回答消除了错误。但是收到的 json 似乎格式不正确,对此有什么建议吗?
现在我得到这个错误:
Uncaught SyntaxError: Unexpected token #
最佳答案
您不必使用 response = JSON.parse(response);
。您的回应已经是一个对象。您无需再次将其解析为对象。
关于javascript - JSON.解析 : unexpected character at line 1 column 1 of the JSON data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33429671/
int i; System.out.print("Please enter a string: "); String string_1 = input.nextLine(); System.out
我想要一个正则表达式来检查 a password must be eight characters including one uppercase letter, one special charac
在此先感谢您的帮助。 在命令行输入“example”时,Python 返回“example”。我在网上找不到任何东西来解释这一点。所有引用资料都在 print 命令的上下文中谈到字符串,我得到了所有关
我有 CSV 格式的数据,这些数据在字符编码方面被严重打乱,可能在不同的软件应用程序(LibreOffice Calc、Microsoft、Excel、Google Refine、自定义 PHP/My
我正在为 Latex 使用 Sublime Text,所以我需要使用特定的编码。但是,在某些情况下,当我粘贴从不同程序(大多数情况下为单词/浏览器)复制的文本时,我收到以下消息: "Not all c
在 flutter 中,我使用了一个php文件,该文件从数据库查询返回json响应,但是当我尝试解码json时,出现此错误: E/flutter ( 8294): [ERROR:flutter/lib
我在 Flutter 项目中遇到异常。错误如下所示: Exception has occurred. FormatException (FormatException: Unexpected char
这个问题已经有答案了: Why doesn't my compare work between char and int in Java? (4 个回答) 已关闭 3 年前。 我试图在我的代码中找出
我在 Flutter 项目中遇到异常。错误如下所示: Exception has occurred. FormatException (FormatException: Unexpected char
我是 python 新手,需要一些帮助。我应该编写一个脚本,从键盘读取单词,直到输入单词 999。对于除 999 之外的每个单词,报告该单词是否有效。如果单词的第一个字符等于最后一个字符,则该单词有效
我正在实现自己的词法分析器,并且刚刚了解了 C# 如何处理字 rune 字:https://msdn.microsoft.com/en-us/library/aa691087(v=vs.71).asp
我有这个字符串: var test = "toto@test.com"; 我想用空值替换“@”字符后的所有字符。我想得到这个字符串: var test = "toto" 最佳答案 试试这个: test
我将数据库从 sqlite 更改为 postgresql 以用于我网站的生产,但出现此错误。当我在本地使用 sqlite 时,它没有出现这个错误。使用 Django。 ProgrammingErr
我正在为我的实验表制作凯撒密码,并使其能够加密 3 代入(凯撒密码),这是练习的重点。但是有一件事困扰着我。首先,如果我输入 3 以外的字符,则有一个尾随字符。例如,输入“恶意软件”,然后输入 2 作
遵循 this question 中的逻辑,以下代码应该有效: #include int main(){ printf("%c", '\0101'); return 0; } 然而,
我在处理一段代码时遇到错误: Too many characters in character literal error 使用 C# 和 switch 语句遍历字符串缓冲区并读取标记,但在这一行中出
给定一个元素,其值为: Distrib = SU & Prem <> 0 我要转<或 >进入 <或 >因为下游应用程序需要
从表面上看,他们似乎都在做同样的事情。但似乎是后者as(,"character")更强大。 作为示例,请考虑以下内容: library(rvest) temp % html_node("div p")
我刚开始使用python,所以很可能只是在做一些愚蠢的事情。我正在从表中读取数据,需要将它们放入txt文件的列中。我无法说服我的代码创建新行。 这是我的代码- file = open("test_m.
在尝试刷新我的项目的 Fortran 90 知识时,我在使用内部文件时遇到了一些奇怪的情况。考虑示例代码: ! ---- internal_file_confusion.f90 ---- progra
我是一名优秀的程序员,十分优秀!