2017-04-06 41 views
1

テキストファイルからデータの列を抽出します。次のようにPythonを使用してテキストファイルからデータの列を抽出します

私が持っているテキストファイルがある:(TOTAL TIME/FREQは、私はその下の数字を抽出したい列です!)

Abaqus/Standard 6.14-1     DATE 07-Apr-2017 TIME 02:58:26 
SUMMARY OF JOB INFORMATION: 
STEP INC ATT SEVERE EQUIL TOTAL TOTAL  STEP  INC OF  DOF IF 
       DISCON ITERS ITERS TIME/ TIME/LPF TIME/LPF MONITOR RIKS 
       ITERS    FREQ 
    1  1 1  3 10 13 0.0100  0.0100  0.01000 
    1  2 1U 1  4  5 0.0100  0.0100  0.01000 
    1  2 2  2  3  5 0.0125  0.0125  0.002500 
    1  3 1  1  4  5 0.0150  0.0150  0.002500 
    1  4 1  2  4  6 0.0188  0.0188  0.003750 
    1  5 1  2  5  7 0.0244  0.0244  0.005625 
    1  6 1  2  3  5 0.0300  0.0300  0.005625 

あなたはpythonでこのコードを書く方法を教えてもらえそれは数を抽出して、次のように数のリストを得ることができますか?

[0.0100,0.0100,0.0125,0.0150,0.0188,0.0244,0.0300] 

答えて

1

このスクリプトは役立ちます。私はあなたが作成したい他のスクリプトのためにこれを調整するために各行が何をしているのかを述べるとコメントしました。

# A function to check if a value is an integer 
def RepresentsInt(s): 
    try: 
     int(s) 
     return True 
    except ValueError: 
     return False 


#create empty output list 
StepTimes = [] 

#open the text file 
file1 = open('datFile.dat','r') 

#read the text file line by line 
for line in file1: 

    #split file into a list 
    line = line.split() 
    #check if first item in list is an integer 
    if RepresentsInt(line[0]): 
     #append step time to a new list 
     StepTimes.append(line[6]) 

print (StepTimes) 

これは

['0.0100', '0.0100', '0.0125', '0.0150', '0.0188', '0.0244', '0.0300'] 
+1

また、あなたが 'StepTimes.append(フロート(ライン[6]))'あなたが数値を出したい場合は – agentp

+0

@agentp良いスポットを行うことができますを返します – CodeCupboard

関連する問題