[英]str to int: ValueError: invalid literal for int() with base 10
I am trying to write a unit test in Django/Python.我正在尝试用 Django/Python 编写单元测试。 I have csv files I want to use to create records but I get an error I do not understand when I try to convert a str to int:
我有我想用来创建记录的 csv 文件,但是当我尝试将 str 转换为 int 时出现我不明白的错误:
Error错误
ValueError: invalid literal for int() with base 10: 'med_dru' (med_dru is an integer)
ValueError: 以 10 为基数的 int() 的无效文字:'med_dru'(med_dru 是一个整数)
Code代码
liste_correspondance = "adm_med.csv"
file1 = open(liste_correspondance,'r')
reader = csv.reader(file1)
for row in reader:
Medicament.objects.create(med_dru = int(row[1]),med_sit = row[2],med_pay = row[5],med_num = row[6])
It looks like you are trying to create an object for the header row.看起来您正在尝试为标题行创建一个对象。 Try just throwing away the first line:
尝试扔掉第一行:
liste_correspondance = "adm_med.csv"
file1 = open(liste_correspondance,'r')
reader = csv.reader(file1)
next(reader, None)
for row in reader:
Medicament.objects.create(med_dru = int(row[1]),med_sit = row[2],med_pay = row[5],med_num = row[6])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.