Python 如何确定值错误:烧瓶中的负寻道值
我在flask中编写了一个函数,用于上传文件并从文件中读取,但当我上传并读取文件时,它抛出了这个错误Python 如何确定值错误:烧瓶中的负寻道值,python,flask,openpyxl,Python,Flask,Openpyxl,我在flask中编写了一个函数,用于上传文件并从文件中读取,但当我上传并读取文件时,它抛出了这个错误 ValueError:负寻道值-315 我从我试图读取文件的代码部分知道这一点,因为如果我删除该部分,文件将成功上载 这是密码 @home\u blueprint.route('/upload',methods=['GET',POST']) def upload(): 如果request.method==“POST”: f=请求.files['file'] wb=加载工作簿(f) 工作表=wb.
ValueError:负寻道值-315
我从我试图读取文件的代码部分知道这一点,因为如果我删除该部分,文件将成功上载
这是密码
@home\u blueprint.route('/upload',methods=['GET',POST'])
def upload():
如果request.method==“POST”:
f=请求.files['file']
wb=加载工作簿(f)
工作表=wb.active
get_row=sheet.iter_row(最小行=2,
最小值=1,
最大值=4,
值(仅适用于=真)
f、 保存(安全文件名(f.filename))
返回“已成功上载文件”
这是我的错误完整堆栈跟踪
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/akoh/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/akoh/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/home/akoh/.local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/akoh/Documents/personal/IntronHealthExercise/app/home/views.py", line 25, in upload
wb = load_workbook(f)
File "/home/akoh/.local/lib/python3.6/site-packages/openpyxl/reader/excel.py", line 314, in load_workbook
reader.read()
File "/home/akoh/.local/lib/python3.6/site-packages/openpyxl/reader/excel.py", line 279, in read
self.read_worksheets()
File "/home/akoh/.local/lib/python3.6/site-packages/openpyxl/reader/excel.py", line 254, in read_worksheets
charts, images = find_images(self.archive, rel.target)
File "/home/akoh/.local/lib/python3.6/site-packages/openpyxl/reader/drawings.py", line 24, in find_images
src = archive.read(path)
File "/usr/lib/python3.6/zipfile.py", line 1337, in read
with self.open(name, "r", pwd) as fp:
File "/usr/lib/python3.6/zipfile.py", line 1391, in open
fheader = zef_file.read(sizeFileHeader)
File "/usr/lib/python3.6/zipfile.py", line 728, in read
self._file.seek(self._pos)
File "/usr/lib/python3.6/tempfile.py", line 888, in seek
self._file.seek(*args)
ValueError: negative seek value -315
因此代码工作正常,问题在于文件,它已损坏。您能告诉我
f=request.files['file']
之后f
的值是多少吗。load_workbook()需要一个文件路径,我怀疑f
是否提供了该路径。这是f
的值,所以我尝试了您的代码,它工作正常。我假设load\u工作簿
函数来自openpyxl
。能否将您正在发布的xlsx文件附加到此api?是的,加载工作簿来自openpyxl。我不知道如何在这里附加xlsx文件?将其上载到gdrive并在此处附加链接。