Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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
如何在javascript中读取JSON文件_Javascript_Json_D3.js_Flask - Fatal编程技术网

如何在javascript中读取JSON文件

如何在javascript中读取JSON文件,javascript,json,d3.js,flask,Javascript,Json,D3.js,Flask,我使用d3.js在地图上用flask显示我们的数据。我试图用这个@app.route('/',methods=['POST'])获取world.json文件,但它给出了127.0.0.1的错误--[29/Apr/2019 14:33:40]“POST/HTTP/1.1”200-和 127.0.0.1---[29/Apr/2019 14:33:41]“GET/world.json HTTP/1.1”404-。我已将world.json文件存储在临时文件夹中 import io import csv

我使用d3.js在地图上用flask显示我们的数据。我试图用这个
@app.route('/',methods=['POST'])
获取world.json文件,但它给出了127.0.0.1的错误--[29/Apr/2019 14:33:40]“POST/HTTP/1.1”200-和 127.0.0.1---[29/Apr/2019 14:33:41]“GET/world.json HTTP/1.1”404-。我已将world.json文件存储在临时文件夹中

import io
import csv
import pandas as pd
import numpy as np
from flask_googlemaps import GoogleMaps
from flask_googlemaps import Map,icons
import folium
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

########################################################################################################3

#from __future__ import division
import string
import math
import pandas

def kuch(doc_headline):
    import os
    import pandas as pd
    import numpy as np
    from nltk.tokenize import word_tokenize
    from gensim import corpora, models, similarities

    # This one is good when files of news corpus dict matrix are already generated and we are using notebook
    # Use this saved matrix starategy in tfidf search in web app
    if (os.path.exists("adminWorkOutput/news.dict")):
        dictionary = corpora.Dictionary.load('adminWorkOutput/news.dict')
        corpus = corpora.MmCorpus('adminWorkOutput/news.mm')
        print("Already generated files are Used")
    else:
        print("Fresh run to generate saved dict matrix data ")

    tfidf = models.TfidfModel(corpus)
    corpus_tfidf = tfidf[corpus]

    # one
    # for doc in corpus_tfidf:
    #    print(doc)
    # two
    for doc in corpus_tfidf:
        doc = [(dictionary.get(idx), tfidf) for idx, tfidf in doc]
        #print(doc)

    # one way
    index = similarities.MatrixSimilarity(corpus_tfidf)
    # print(np.array(index))

    print("\nxxxxxxxxxxxxxxxxxxxxxxxx Similarities \n")

    # other way
    sims = similarities.Similarity('adminWorkOutput/', corpus_tfidf,
                                   num_features=len(dictionary))
    #print(sims)
    # print(type(sims))

    # documents[819] means news_820
    # because array start from 0 and news start from 1
    qry = doc_headline  # str(documents[819])
    print(qry)
    query_doc = [w.lower() for w in word_tokenize(qry)]
    # print(query_doc)
    query_doc_bow = dictionary.doc2bow(query_doc)
    # print(query_doc_bow)
    query_doc_tf_idf = tfidf[query_doc_bow]
    # print(query_doc_tf_idf)
    print("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n")
    my_result = sims[query_doc_tf_idf]
    #print(my_result)

    # print(list(enumerate(my_result)))
    arr = sorted(enumerate(my_result), key=lambda item: -item[1])

    print('this is there\n', arr[1])
    df = pd.read_csv('adminWorkOutput/preprocessed.csv')
    #print(df.loc[arr[1][0], 'topic'])

    records = []
    i = 0
    import random
    while (arr[i][1] > 0.1):
        topic1 = df.loc[arr[i][0], 'headline']
        country1 = df.loc[arr[i][0], 'country']
        similarity_score1 = arr[i][1]
        polarity_score1 = random.uniform(-1, 1)
        records.append((topic1, country1, similarity_score1, polarity_score1))
        i += 1

    df1 = pd.DataFrame(records, columns=['topic', 'country', 'similarity_score', 'polarity_score'])

    df1.to_csv('adminWorkOutput/similar.csv')

    import csv, json
    csvFilePath = "adminWorkOutput/similar.csv"
    jsonFilePath = "adminWorkOutput/file.json"
    arr = []
    # read the csv and add the arr to a arrayn

    with open(csvFilePath) as csvFile:
        csvReader = csv.DictReader(csvFile)
        print(csvReader)
        for csvRow in csvReader:
            arr.append(csvRow)
        # arr = {'Countries': arr} # Added line

    #print(arr)

    # write the data to a json file
    with open(jsonFilePath, "w") as jsonFile:
        jsonFile.write(json.dumps(arr, indent=4))


app = Flask(__name__, static_url_path = "/tmp", static_folder = "tmp")



@app.route('/')
def my_form():
    return render_template('myform2.html')




@app.route('/', methods=['POST' ])
def my_form_post():
    text = request.form['search']

    #processed_text = text.upper()
    print(text)
    kuch(text)
    print("sahi ha")
    return render_template('GeoMap/index.html')


import os
if __name__ == "__main__":
    app.run()

代码中没有任何内容映射到路由
GET/world.json

static\u文件夹
文件可从
static\u url\u路径
获得,请尝试
GET/tmp/world.json


查看,尤其是静态文件部分。

您忘了提供模板
GeoMap/index.html
的内容,该模板包含对
world.json
文件的访问。通常,您应该使用来访问该文件。在您的案例中,您将Flask应用程序定义为

app = Flask(__name__, static_url_path="/tmp", static_folder="tmp")
您的模板中应该有如下内容:

{{ url_for('static', filename='world.json') }}
因此,这将导致请求
/tmp/world.json
URL。现在,这取决于您所说的我已将world.json文件存储在临时文件夹中的意思。在Linux/UNIX系统上,临时文件夹通常是
/tmp
,但在应用程序定义中,您提供了
tmp
,这意味着相对于项目目录的
tmp
文件夹。也许你想设置
static\u folder=“/tmp”