通过Django阅读xlsx上传

时间:2018-12-05 15:41:40

标签: python django

我正在通过我的网站上传文件(xlsx),我认为文件已正确上传。

def upload_file(request):
    print('here',request,request.method,request.FILES)
    if request.method == 'POST':
        file_json= convert_xlsx_to_json(request.FILES['file_query'])
        return render(request, 'drax_internal_dbs/drax_success_reactions.html', {'xlsx_file':file_json})
    return render(request, 'drax_internal_dbs/no_results.html')

这是我的文件

<WSGIRequest: POST '/drax_output.html'> POST <MultiValueDict: {'file_query': [<InMemoryUploadedFile: calcitriol_2.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)>]}>

当我尝试读取文件时,我遇到了很多问题。我正在使用.read()获取数据,并希望将其转换为数据框。问题出现在这里,我不知道如何转换数据?我整天都在搜寻Google,但仍然找不到解决方案。 到目前为止,这是我尝试过的:

  • 将文件转换为StringIO并使用openpyxl.load_workbook
  • 将文件转换为BytesIO并使用openpyxl.load_workbook
  • 使用pandas.read_csv(file_contents = file.read())

可能还有其他我现在不记得的方式。 我不想保存文件,因为我将使用它来生成HTML表。

谢谢!

1 个答案:

答案 0 :(得分:0)

我没有找到xlsx的答案。相反,我转而使用csv文件作为输入文件,该文件可以立即工作。