我试图读取数据文件并获取数据。
我的Python代码:
f = open('datafile', 'r')
for line in f.readlines():
line = line.strip()
print line
dataList = line.split('-')
print dataList
print len(dataList)
print dataList[0]
# print dataList[1] # IndexError: list index out of range
# print dataList[2] # IndexError: list index out of range
# print dataList[3] # IndexError: list index out of range
例如,在该文件中占一行,代码具有以下输出:
0A-02-01-04
['0A', '02', '01', '02']
4
0A
但访问其他成员数据会超出范围错误
答案 0 :(得分:0)
当您的生产线没有足够的"部件"或者该生产线为空时,您会收到此错误。
如果您的行为空, .split('-')
将返回包含一个项目的列表:
>>> ''.split('-')
['']
首先过滤掉空白行,或者 - 如果您知道数据总是有4个部分,请检查结果列表的长度:
if len(dataList) == 4:
# do stuff here
else:
# blank line, or invalid data, etc.
答案 1 :(得分:-1)
您无法访问其他数据成员,因为您要拆分的行本身可能不包含-
,因此当您将split
应用于带有一个项目的行返回列表并且该项目等于{{1 }}
line
因此,通过索引检查数据是否具有调用line = '312312'
print line.split('-')
# ['312312']
方法的元素数量。
len(data)