我正在使用django-import-export
通过django admin上传csv文件。我可以覆盖before_import
函数,以在导入之前添加功能。我有一个没有头的csv文件,实际数据从第一行开始。我需要添加标题,或在上传csv文件之前插入一行,以便可以正确读取。
class UpdateResource(resources.ModelResource):
def before_import(self, dataset, using_transactions, dry_run, **kwargs):
dataset.header = ['sku', 'quantity']
class Meta:
model = Upload
import_id_fields = ('sku',)
此代码将csv文件第一行的值更改为sku,quantity
,但是我需要在该值上方插入一个,而不是替换它。另外,如果有一个选项可以忽略标题,而只需将值从左到右映射到我的模型,那也很好。
答案 0 :(得分:0)
我的解决方法是将第一行存储为变量,创建所需的标题并将第一行附加到文件末尾。
class UpdateResource(resources.ModelResource):
def before_import(self, dataset, using_transactions, dry_run, **kwargs):
first_row = dataset.header
dataset.header = ['sku', 'quantity']
dataset.append(first_row)