对于一项作业,我必须在“处理”中编写代码以从表格数据文件读取。文件的每一行看起来都像"Name, 242, 353, 5325, 35352"
,因此该列表应包含五项,如果我打印它,则会看到全部五项。但是当我尝试执行x = data[1]
时,它给了我索引超出范围的错误。这是我的代码:
f = open('popdata.txt', 'r')
for line in f:
data = line.rstrip('\n')
data = data.split(',')
city = data[0]
x = int(data[1])
y = int(data[2])
old = float(data[3])
new = float(data[4])
编辑:如果可以
print(data)
它打印:
"['Halifax', '447', '349', '220', '320']"
如果我这样做:
print(city)
它打印:
Halifax
但是,如果我对索引1或更高的索引执行任何操作,那是行不通的吗?
编辑:我在拆分后添加了行if len(data) == 5:
,现在行了!
答案 0 :(得分:0)
if else
条件以处理异常f = open('popdata.txt', 'r')
for line in f:
data = line.rstrip('\n')
data = data.split(',')
city = data[0] if data[0:] else "" #inside ""(double quotes) add any value you want to return in case data is not available.
x = int(data[1]) if data[1:] else ""
y = int(data[2]) if data[2:] else ""
old = float(data[3]) if data[3:] else ""
new = float(data[4]) if data[4:] else ""