如何在烧瓶上显示代码结果

时间:2020-02-27 02:55:17

标签: python dataframe flask request nltk

我想在烧瓶中显示我的代码的结果,但是当我尝试调用结果变量时,该程序什么也没有显示。如何在result.html中显示结果。我真的很需要请有人帮我解决问题。

这是我在app.py中的代码

from flask import Flask, request, render_template
import pandas as pd
import numpy as np
import PyPDF2

app = Flask(__name__)

@app.route("/")
def home():
    return render_template('upload_data.html')

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

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



@app.route('/summarize', methods=['POST'])
def summarize():
    df = pd.read_csv('Dataset/data-clean.csv', encoding="latin-1")
    # Features and Labels
    df['label'] = df['label'].map({'positif': 0, 'negatif': 1})
    x = df['clean']
    y = df['label']

    from sklearn.model_selection import train_test_split
    x = x.replace([np.inf, -np.inf], np.nan)
    y = y.replace([np.inf, -np.inf], np.nan)
    x = x.dropna()
    y = y.dropna()
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.30, random_state=42)

    from sklearn.feature_extraction.text import CountVectorizer
    count_vect = CountVectorizer()
    x_train_counts = count_vect.fit_transform(x_train)

    from sklearn.feature_extraction.text import TfidfTransformer
    tfidf_transformer = TfidfTransformer()
    x_train_tfidf = tfidf_transformer.fit_transform(x_train_counts)

    from sklearn.feature_extraction.text import TfidfVectorizer
    vectorizer = TfidfVectorizer()
    x_train_tfidf = vectorizer.fit_transform(x_train)

    from sklearn.svm import LinearSVC
    clf = LinearSVC()
    clf.fit(x_train_tfidf,y_train)

    from sklearn.pipeline import Pipeline
    text_clf = Pipeline([('tfidf', TfidfVectorizer()), ('clf', LinearSVC())])
    text_clf.fit(x_train, y_train)

    #from sklearn.externals import joblib
    #joblib.dump(clf, 'Training_model.pkl')
    #Training_model = open('Training_model.pkl', 'rb')
    #clf = joblib.load(Training_model)

    if request.method == 'POST':
        f = request.files['file']
        f.save(f.filename)
        pdfreader = PyPDF2.PdfFileReader(open('C:/Users/Novilia/PycharmProjects/tesaja/' + f.filename, 'rb'))
        page_contents = [sent for page_no in range(pdfreader.getNumPages())
                         for sent in pdfreader.getPage(page_no).extractText().split('.')]
        df1 = pd.DataFrame(page_contents, columns=['isi1'])
        # vect = count_vect.transform(['isi1']).toarray()
        df1['label1'] = text_clf.predict(df1['isi1'])
        df1.append(['label1'])
        hasil = (df1.isi1[df1['label1'] == 'positif'])
        len(hasil)
        hasil_list = hasil.values.tolist()
        stringList = ' '.join([str(item) for item in hasil_list])
        #hasil_ringkas = stringList
        #hasil_ringkas = print(hasil_ringkas)
        return render_template('result.html', ringkasan = stringList)

if __name__ == '__main__':
    app.run(debug=True)

这是我的result.html

{% extends 'layout.html' %}

{% block content %}


<div class="col-md-3"></div>
    <div class="container col-md-6">
        <div class="card card-contact">
                <div class="header header-raised header-rose text-center">
                     <form role="form" action="{{ url_for('summarize')}}" id="contact-form" method="post">
                    <h4 class="card-title">Result</h4>
                </div>
                <div class="card-content">
                    <h2 style="color:black;">{{ (ringkasan) }}</h2>
                    <h2 style="color:black;"></h2>
                    <h2></h2>
                    <div class="row">
                        <div class="col-md-6">

                        </div>
                        <div class="col-md-6">
                            <!-- <button type="submit" class="btn btn-primary pull-right">Process</button> -->
                        </div>
                    </div>
                </div>
        </div>
    </div>
{% endblock %}

我真的需要解决方案来显示结果,请有人帮助解决此问题

0 个答案:

没有答案