我正在try 读取xlsx文件,但出现ValueError 将大小为零的数组转换为没有标识的缩减操作fmin

Views.py

def t(request):
    context = {} 

   if request.method == "POST":
    uploaded_file = request.FILES['document']
    print(uploaded_file)
    if uploaded_file.name.endswith('.xlsx'):
        
        savefile = FileSystemStorage()
        name = savefile.save(uploaded_file.name, uploaded_file) 
        d = os.getcwd() 
        file_directory = d + '\media\\' + name
        readfile(file_directory)
        return redirect(r)
    else:
         messages.warning(request, 'File was not uploaded. Please use xlsx file extension!')

return render(request, 't.html', {})

def read_file(filename):

    my_file = pd.read_excel(filename)
    data = pd.DataFrame(data=my_file)

注意:它可以正确读取某些文件

推荐答案

为了避免注释中指出的错误,代码行用try/except换行.判断您的日志(log)哪一行抛出错误,我认为是这一行:

try:
    my_file = pd.read_excel(filename)
except ValueError:
    messages.error(request, "The file has the wrong format.")
    # or whatever error message you want to raise

理想情况下,您希望在保存文件之前引发错误.在保存文件之前,我会try 与PD一起读取文件:

# ...
uploaded_file = request.FILES['document']
if uploaded_file.name.endswith('.xlsx'):
    try:
        _read_test = pd.read_excel(uploaded_file)
    except ValueError:
        messages.error(request, "The file has the wrong format.")
        # or whatever error message you want to raise
        return redirect('your-error-or-form-page')

    savefile = FileSystemStorage()
    # ...

我不确定PD是否可以读取InMemory文件,但这是您希望捕获错误文件的行.也许已经有了针对这种情况的Pypi包裹

Python相关问答推荐

Pandas 都是(),但有一个门槛

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

Python库:可选地支持numpy类型,而不依赖于numpy

通过pandas向每个非空单元格添加子字符串

如何在solve()之后获得症状上的等式的值

在pandas中使用group_by,但有条件

将JSON对象转换为Dataframe

如何从列表框中 Select 而不出错?

如何在PySide/Qt QColumbnView中删除列

在输入行运行时停止代码

如何在Python Pandas中填充外部连接后的列中填充DDL值

按条件添加小计列

PYTHON中的pd.wide_to_long比较慢

具有不匹配列的2D到3D广播

当lambda函数作为参数传递时,pyo3执行

有什么方法可以在不对多索引DataFrame的列进行排序的情况下避免词法排序警告吗?

如何将参数名作为参数传入到函数中?

通过PyTorch中的MIN函数传递渐变

如何在包含时间戳的词典列表中找到每天的第一个时间?

提取子数组,然后在Python中将它们连接起来