python function出现ValueError的报错 是int类型的错误

问题大概:你的函数将返回指定的疫苗的字典。 这给字典将返回指定疫苗的各种症状,其中每个键是一个症状,其配对值是该症状出现的次数。

设计function, 其拥有三个parameters。

  1. 第一个是包含了各种疫苗的信息的csv文件,包括疫苗的ID(dict[0]),疫苗的名称(dict[7])

img

  1. 第二个是包含了每个疫苗ID的各种症状的csv文件。其中每种症状的名字的索引为双数(0,2,4,6)

img

  1. 第三个是function需要查询的疫苗名称。

我的代码:

import csv

def symptom_counts_by_vaccine(CSVFile1, CSVFile2, vaxName):
  vaxID = []
  out = {}
  with open(CSVFile1) as fp:
    reader = csv.reader(fp)
    for line in reader:
      if (line[7] == vaxName):
        vaxID.append(int(line[0]))

  with open(CSVFile2) as fp2:
    reader1 = csv.reader(fp2)
    for line1 in reader1:
      if (int(line1[0]) in vaxID):
        for i in range(1, len(line1), 2):
          if (line1[i] not in out):
            out[line1[i]] = 1
          else:
            out[line1[i]] += 1
  if ("" in out):
    del out[""]
  return out

我的代码会有ValueError这样的报错,具体为:
invalid literal for int() with base 10

img

请问有没有热心人帮我看下代码哪里有错误?谢谢

我这边没看见你是哪行报错了,但是问题既然出现在int函数上,那你可以打印一下你的line[0]和line1[0],看看都是什么东西,是不是有不是数字的,int函数里面只能存放数字

int()方法只能传入数字串

img