打开txt文件,跳过第一行,然后监视给定的数据列

时间:2012-03-12 16:41:57

标签: python file-io

我有一个带有一些标题的结果txt文件,然后在不同的列中列出几个结果(用空格分隔)。我想根据给定变量的值来控制程序的执行(比如第6列)。所以我必须跳过第一行,然后在数组中存储第6列的值)。我怎么能这样做?

第三次尝试:

STA =文件路径

head_lines = 4
i = 0
variableX = []
if path.exists(STA) and path.isfile(STA) and access(STA, R_OK):
    inputFile = open(STA,'r')
    for n, line in enumerate(inputFile):
        if n > head_lines:
            cols = line.split()
            if len(cols) == 9:
                variableX.append(cols[7])
                i = i+1
    for i in range(len(variableX)):
        if i>=3 and float(variableX[i-2])<=0 and \
        float(variableX[i-1])<=0 and float(variableX[i])<=0:
            try:
                os.system('abaqus terminate job=file_name')
                time.sleep(1)
                os.remove('path to file')
            except:
                print "No such file"
    inputFile.close()

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

inputFile = open(path,'r')
for n, line in enumerate(inputFile):
    if n > given_number:
       variableX = line.split(' ')[5]
inputFile.close()

根据提供的新信息进行编辑:

由于您有一个标题,然后是数据,然后是一个额外的行,您可以跳过标题行,然后只处理具有适当数量列的标题行。

inputFile = open(path,'r')
head_lines = 4
for n, line in enumerate(inputFile):
    if n > head_lines:
       cols = line.split()
       if len(cols) == 9:               
           variableX = cols[7]
           # do whatever you need with variableX
inputFile.close()