AttributeError: объект 'PdfFileReader' не имеет атрибута 'decode' - PullRequest
0 голосов
/ 24 февраля 2020

Я попытался извлечь загруженный файл PDF, как извлечь файл, проблема в том, что я пытался использовать различные функции для извлечения и до сих пор не могу. кого бы я ни попросил о вашей помощи. почему pdfFileRaeder не находит атрибут декодирования или как добавить атрибут декодирования в pdfFileReader. когда я пытаюсь создать переменную для списка, у меня появляется какая-то ошибка, у списка нет атрибута декодирования. пожалуйста, кто-нибудь, помогите мне, почему этот код не работает

это мой код

    if request.method == 'POST':
        f = request.files['file']
        file = (f, 'rb')
        #f.save(f.filename)
        #data = f.save(f.filename)
        pdfreader = PyPDF2.PdfFileReader(file)
        import nltk
        nltk.download('punkt')
        from tika import parser
        from nltk import tokenize
        pdfreader = parser.from_file(pdfreader)
        tokenize.sent_tokenize(pdfreader['content'])
        sentence = tokenize.sent_tokenize(pdfreader['content'])
        from pandas import DataFrame
        df1 = DataFrame(sentence, 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)

Это ошибка фрейма стека:

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 78, in summarize
pdfreader = parser.from_file(pdfreader)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\tika\parser.py", line 40, in from_file
output = parse1(service, filename, serverEndpoint, headers=headers, config_path=config_path, requestOptions=requestOptions)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\tika\tika.py", line 326, in parse1
path, file_type = getRemoteFile(urlOrPath, TikaFilesPath)
File "C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site-packages\tika\tika.py", line 730, in getRemoteFile
urlp = urlparse(urlOrPath)
File "C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py", line 367, in urlparse
url, scheme, _coerce_result = _coerce_args(url, scheme)
File "C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py", line 123, in _coerce_args
return _decode_args(args) + (_encode_result,)
File "C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py", line 107, in _decode_args
return tuple(x.decode(encoding, errors) if x else '' for x in args)
File "C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py", line 107, in <genexpr>
return tuple(x.decode(encoding, errors) if x else '' for x in args)
AttributeError: 'PdfFileReader' object has no attribute 'decode'
...