python读/写数据IndexError:列表索引超出范围

时间:2017-09-02 06:20:49

标签: python-3.x numpy

我正在尝试编写一个简单的代码来从我的测量结果(.txt文件)中提取特定数据列,然后将它们保存到新的文本文件中。不幸的是,我甚至在写作部分之前就已经陷入困境。以下代码会导致以下错误:IndexError: list index out of range 我该如何解决这个问题?它似乎与数据的大小有关,即相同的代码适用于更小的数据文件。

f = open('data.txt', 'r')

header1 = f.readline()
header2 = f.readline()
header3 = f.readline()

for line in f:
    line = line.strip()
    columns = line.split()
    name = columns[2]
    j = columns[3]
    print(name, j)

1 个答案:

答案 0 :(得分:0)

在使用索引之前,您应该检查split()结果的长度,或使用正则表达式检查线条的模式。

columns = line.split()之后添加的长度检查示例:

if len(columns) < 4:
    continue

因此,如果您的线路与您期待已久的数据格式不符,则不会崩溃