gpt4 book ai didi

django-import-export 导入多个文件

转载 作者:行者123 更新时间:2023-12-01 05:04:44 26 4
gpt4 key购买 nike

我正在使用 django-import-export 库导入几本 Excel 书籍。但是,我有 1,000 多本书需要导入数据库。有没有办法选择要上传的文件夹而不是选择并上传每个单独的文件?我已经完成了在这里找到的教程:https://django-import-export.readthedocs.org/en/latest/getting_started.html#admin-integration
但我无法找到我的问题的答案。

任何帮助将不胜感激。

最佳答案

主要为 future 的观众发帖。目前,django_import_export仅导入单个 Excel 工作簿的事件/第一张工作表。然而,代码很容易修改和缓解这个问题。在 forms.py ,还有ImportForm这是从管理员导入时使用的。只需更改 import_file字段是这样的:

import_file = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': 
True}),
label=_('File to import')
)

此表格用于 admin.py来处理文件数据。将链接行更改为:
import_files = request.FILES.getlist('import_file')
for import_file in import_files:
...

现在剩下的就是修改 base_formats.py 中的导入程序为 XLSXLSX格式。两者的变化几乎相同,我将概述 XLS一个在这里。

不要取第一张纸,而是运行 for循环工作表并将数据附加到数据集。
dataset = tablib.Dataset()
first_sheet = True # If you keep all correct headers only in first sheet
for sheet in xls_book.sheets():
if first_sheet:
dataset.headers = sheet.row_values(0)
first_sheet = False
for i in moves.range(1, sheet.nrows):
dataset.append(sheet.row_values(i))
return dataset

对于 XLSX,循环将在 xlsx_book.worksheets 上运行.休息类似于 xls .

这将允许您选择多个 Excel 工作簿并导入工作簿的所有工作表。我知道理想的解决方案是导入 zip文件以使用单个 bulk_create 创建所有数据,但这目前很好用。

关于django-import-export 导入多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30087313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com