现在我有一个这种格式的文件:
我需要将第5列和第6列的值与我的输入进行比较,因此我尝试使用(假设已经实例化文件f)迭代整个文件:
for line in f:
line = line.strip()
columns = line.split()
if (list[0] == columns[4]):
if (list[1] == columns[5]):
self.mass = float(columns[13]) + float(columns[14])
但是,由于有时第一列有空条目,我的'columns'索引会被移位1,我将比较第6列和第7列的条目。有办法解决这个问题吗?
谢谢!!!
答案 0 :(得分:1)
我将假设您的文件实际上是一个制表符分隔文件,在这种情况下您可以更改此行
line = line.strip()
columns = line.split()
到这个
columns = line.split("\t")
保留分割后该阵列中元素的数量
如果不是这种情况,那么您可能需要检查您当前所在行数组的长度,以便了解要比较的索引。