Как исправить ValueError: конструктор DataFrame неправильно вызывается на flask - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу попробовать создать фрейм данных из pdfreader с именем столбца isi1. но почему я получаю ошибку ValueError: Конструктор DataFrame не вызывается должным образом! что я должен сделать, чтобы исправить эту ошибку. помощь от кого-либо, когда необходимо для этой проблемы. это мой код

 if request.method == 'POST':
        f = request.files['file']
        f.save(f.filename)
        pdfreader = PyPDF2.PdfFileReader(open('C:/Users/Novilia/PycharmProjects/tesaja/' + f.filename, 'rb'))
        from pandas import DataFrame
        df1 = DataFrame(pdfreader, 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

    return render_template('result.html', ringkasan = hasil_ringkas)

ошибка

ValueError
ValueError: DataFrame constructor not properly called!

Traceback (most recent call last)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 2463, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 2449, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 1866, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\flask\app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\Novilia\PycharmProjects\tesaja\app.py", line 79, in summarize
df1 = DataFrame(pdfreader, columns=['isi1'])
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\pandas\core\frame.py", line 509, in __init__
raise ValueError("DataFrame constructor not properly called!")
ValueError: DataFrame constructor not properly called!

1 Ответ

0 голосов
/ 26 февраля 2020

Насколько я понимаю, вам нужно перебирать страницы и получать текст с каждой страницы. Можете ли вы попробовать следующее:

import nltk

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 nltk.sent_tokenize(pdfreader.getPage(page_no).extractText())]
df1 = DataFrame(page_contents, columns=['isi1'])

Пожалуйста, дайте мне знать, если вы обнаружите какие-либо проблемы с кодом.

...