尝试将一些数据导入我的模型时出现错误。我得到的错误是 TypeError: 抱怨我正在使用的分隔符。
下面是我的 CSV 导入模型,我使用的是文档建议的默认分隔符。
class SkuCsvModel(CsvModel):
sku_num = models.CharField()
sku_category = models.ForeignKey(SkuCategory)
short_desc = models.CharField()
class Meta:
delimiter = ";"
dbModel = Sku
我尝试使用的 CSV 文件如下:
1365400;9;3/8 BALL VALVE
1401901;9;BRASS ELBOW
1406300;9;HOSE BARB, NPT
我在 manage.py shell 中测试的代码是:
>>> from core.models import SkuCsvModel
>>> my_csv_list = SkuCsvModel.import_data(data = open("labconco.csv"))
最后我得到的错误是:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "E:\bin\Python27\lib\site-packages\adaptor\model.py", line 197, in import_data
return importer.import_data(data)
File "E:\bin\Python27\lib\site-packages\adaptor\model.py", line 466, in import_data
for line in csv.reader(data, delimiter=self.delimiter):
TypeError: "delimiter" must be an 1-character string
所以我一直在摆弄 django-adaptor 工具,这个错误来自 CsvImporter 的 import_data() 方法,当我尝试将分隔符直接放入 csv.reader(data, delimiter=';' ) 这工作正常,我能够正确查看文件。但无论我如何尝试输入这个 import_data 方法发送一个';' 会产生错误。