我花了很长时间才弄清楚这一点。我只是尝试使用 Python 的 csv 模块和 Django 的 get_or_create() 导入 CSV 文件。
这是我的简单代码(基于this code):
import csv
from .models import Person
def import_data():
with open('/path/to/csv/people_list.csv') as f:
reader = csv.reader(f)
for row in reader:
_, created = Person.objects.get_or_create(
name=row[0],
p_id=row[1],
current_status=row[2],
)
当我在 shell 上运行 import_data() 时出现以下错误
peoplelisting.models.DoesNotExist: Person matching query does not exist.
是的,这个特定的 Person 不存在,但这不是使用 get_or_create() 的全部意义吗?如果不存在,则创建它?
您不必每次都检查 row[0],只需跳过第一行即可:
next(reader, None) # skip the headers
来源:使用 Python 编辑 csv 文件时跳过标题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)