【问题标题】:How to read xlsx file uploaded in django?如何读取在 django 中上传的 xlsx 文件?
【发布时间】:2016-05-15 14:10:33
【问题描述】:

我有一个允许用户上传 xlsx 文件的 django 服务器,我想访问其中的数据。

我知道 openpyxl,但是,它似乎无法解析打开的文件,我不想将文件保存在磁盘上并再次读取。

我该怎么做?

【问题讨论】:

  • 您必须编写自己的代码才能将 zip 存档传递到 openpyxl。最好把它保存在某个地方。

标签: python django openpyxl


【解决方案1】:

其实比上面简单:

    from openpyxl import load_workbook
    ...
    if request.method == 'POST':
        form = UploadForm(request.POST, request.FILES)
        if form.is_valid():
            wb = load_workbook(filename=request.FILES['file'].file)

FILES['file']file 属性已经返回一个 BytesIO 实例;)

【讨论】:

    【解决方案2】:

    将其作为字节流读取。 This explanation 帮助我完成了同样的任务 我的解决方案:

        from openpyxl import load_workbook
        from io import BytesIO
        ...
        if request.method == 'POST':
            form = UploadForm(request.POST, request.FILES)
            if form.is_valid():
                file_in_memory = request.FILES['file'].read()
                wb = load_workbook(filename=BytesIO(file_in_memory))
    

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2018-10-26
      • 2015-09-30
      • 2021-08-04
      相关资源
      最近更新 更多