Python 属性错误:';PdfFileReader&x27;对象没有属性';解码';

Python 属性错误:';PdfFileReader&x27;对象没有属性';解码';,python,flask,scikit-learn,classification,pypdf2,Python,Flask,Scikit Learn,Classification,Pypdf2,我试着提取上传的pdf文件,如何提取文件,问题是我试着用各种函数来提取,但仍然不能。任何人我都请求你的帮助。 为什么PdfileReader找不到属性decode,或者如何在PdfileReader上添加属性decode。当我尝试将变量设置为list时,我遇到了一些错误,列表没有属性decode。请有人帮帮我为什么这个代码不起作用 这是我的密码 if request.method == 'POST': f = request.files['file'] f

我试着提取上传的pdf文件,如何提取文件,问题是我试着用各种函数来提取,但仍然不能。任何人我都请求你的帮助。 为什么PdfileReader找不到属性decode,或者如何在PdfileReader上添加属性decode。当我尝试将变量设置为list时,我遇到了一些错误,列表没有属性decode。请有人帮帮我为什么这个代码不起作用

这是我的密码

    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'
回溯(最近一次呼叫上次)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第2463行,在调用中__
返回self.wsgi_应用程序(环境,启动响应)
wsgi_应用程序中的文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第2449行
response=self.handle\u异常(e)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第1866行,在句柄中
重放(exc_类型、exc_值、tb)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\\u compat.py”,第39行,重新修订
增值
wsgi_应用程序中的文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第2446行
response=self.full\u dispatch\u request()
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第1951行,完整发送请求
rv=自身处理用户异常(e)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第1820行,在handle\u user\u异常中
重放(exc_类型、exc_值、tb)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\\u compat.py”,第39行,重新修订
增值
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第1949行,完整发送请求
rv=自我分派请求()
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\flask\app.py”,第1935行,在调度请求中
返回self.view_函数[rule.endpoint](**req.view_参数)
文件“C:\Users\Novilia\PycharmProjects\tesaja\app.py”,第78行,汇总
pdfreader=parser.from_文件(pdfreader)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\tika\parser.py”,第40行,from_文件
output=parse1(服务、文件名、服务器端点、headers=headers、config\u path=config\u path、requestOptions=requestOptions)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\tika\tika.py”,第326行,在parse1中
路径,文件类型=getRemoteFile(urlOrPath,TikaFilesPath)
文件“C:\Users\Novilia\PycharmProjects\tesaja\venv\lib\site packages\tika\tika.py”,第730行,位于getRemoteFile中
urlp=urlparse(urlOrPath)
文件“C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py”,第367行,在urlparse中
url,scheme,_-concure_-result=_-concure_-args(url,scheme)
文件“C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py”,第123行,在参数中
返回_decode_args(args)+(_encode_result,)
文件“C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py”,第107行,在解码参数中
返回元组(如果参数中的x为x,则x.decode(编码,错误)为x,否则为“”)
文件“C:\Users\Novilia\AppData\Local\Programs\Python\Python37\lib\urllib\parse.py”,第107行,在
返回元组(如果参数中的x为x,则x.decode(编码,错误)为x,否则为“”)
AttributeError:“PdfileReader”对象没有属性“decode”

请张贴堆栈框架。它告诉我们哪一行有错误。请尝试
PyPDF2.PdfFileReader(*file)
正确展开参数。@klauds。当我尝试获取“TypeError:uuu init_uuuuuuu()接受2到5个位置参数,但给出了2412个”@tdelaney done,我正在编辑文章并添加错误行您是否尝试过
pdfreader=PyPDF2.PdfFileReader(open(f,'rb'))