同样的代码,一样的TXT文本和内容,为什么在本地运行就报错

  1. with open("superstarinfo.txt", "r") as f:
  2. head = f.readlines()
  3. head[0]= head[0].replace("\n","") #将head[0]中的\n替换为空,也就是删掉\n
  4. head_list = head[0].split(',') # head的第一个元素即为原数据的第一行,使用split(),按照逗号切分
  5. data_dict = {} # 创建一个空字典
  6. for i in head[1:]: # 遍历读取到的数据,从第二行开始,第一行为列标题行,舍去
  7. i= i.replace("\n","") #将i中的\n替换为空,也就是删掉\n
  8. data =i.split(',') # 把每行数据字符串切分成更细的一个个的字符串,以列表类型存储
  9. name = data[1] # 每行列表的第二个数据即为明星姓名,作为字典键值对的键
  10. data_dict[name] = {} # 键为明星姓名,值为空字典
  11. for j in range(2,len(head_list)): # 为了遍历列标题行和明星信息行,因为两行索引相同,所以可以使用range函数获取索引,从2开始
  12. data_dict[name][head_list[j]] = data[j] # 为值字典添加键值对信息,键为列标题,值为列标题对应的明星信息
  13. print(data_dict)
Traceback (most recent call last):
File "D:/python111/test_zhoukaixuan.py", line 105, in
name = data[1]
IndexError: list index out of range
上面是报错信息
已邀请:
已找到问题,在第一次循环的时候时候,我使用的是 head[1] ,head[1] 字段类型 为 str ,后面进行分割的时候,就报错了
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。
你好棒啊,我现在还写不出来这个代码。我学完第一遍后估计还要重头再看两遍才行。

要回复问题请先登录注册