2017-06-19 107 views
-3

的時候所以我從來沒有與Python工作,我試圖解析與內容像這樣一個文本文件(但隨後約1萬行):忽略在Python線分割

PuckTaken: (1;0;226;514) 
PuckTaken: (4;0;254;529) 
PuckTaken: (13;1;207;460) 
PuckTaken: (27;1;184;518) 
PuckTaken: (50;1;180;562) 
PuckTaken: (123;1;225;608) 
PuckTaken: (129;1;134;571) 
PuckTaken: (150;0;219;629) 
EggHatched: (211; 214.709; 442.891); [[0, 0, 0.005, 136], [0, 0, 0.005, 185], [0, 0, 0.005, 108], [0, 0, 0.005, 188], [0, 0, 0.005, 121], [0, 0, 0.005, 142], [0, 0, 0.005, 102], [0, 0, 0.005, 147], [0, 0, 0.005, 104], [0, 0, 0.005, 100], [0, 0, 0.005, 163], [0, 0, 0.005, 162], [0, 0, 0.005, 111], [0, 1, 1.005, 179]]; Winner: 100 
EggHatched: (290; 282.386; 580.121); [[0, 0, 0.005, 134], [0, 0, 0.005, 143], [0, 0, 0.005, 139], [0, 0, 0.005, 103], [0, 0, 0.005, 155], [0, 0, 0.005, 160], [0, 0, 0.005, 125], [0, 0, 0.005, 112], [0, 0, 0.005, 133], [0, 0, 0.005, 117], [0, 0, 0.005, 156], [0, 0, 0.005, 166], [0, 0, 0.005, 137], [0, 0, 0.005, 171], [1, 0, 1.005, 129]]; Winner: 129 
EggHatched: (299; 202.399; 578.328); [[0, 0, 0.005, 106], [0, 0, 0.005, 118], [0, 0, 0.005, 181], [0, 0, 0.005, 114], [0, 0, 0.005, 186], [0, 0, 0.005, 120], [0, 0, 0.005, 129], [0, 0, 0.005, 140], [0, 1, 1.005, 175]]; Winner: 175 
EggHatched: (333; 295.22; 420.14); [[0, 0, 0.005, 102], [0, 0, 0.005, 191], [0, 0, 0.005, 126], [0, 0, 0.005, 180], [0, 0, 0.005, 176], [0, 0, 0.005, 168], [0, 0, 0.005, 151]]; Winner: 180 
EggHatched: (340; 213.756; 504.939); [[0, 0, 0.005, 170], [0, 0, 0.005, 135], [0, 0, 0.005, 124], [0, 0, 0.005, 169], [0, 0, 0.005, 164], [0, 0, 0.005, 172], [0, 0, 0.005, 195], [0, 0, 0.005, 184], [0, 0, 0.005, 190], [0, 0, 0.005, 197], [0, 0, 0.005, 187], [0, 0, 0.005, 107], [1, 0, 2.005, 159], [0, 1, 2.005, 130]]; Winner: 195 
PuckTaken: (346;0;423;813) 
PuckTaken: (358;0;446;806) 
EggHatched: (385; 176.75; 544.473); [[0, 0, 0.005, 114], [0, 0, 0.005, 153], [0, 1, 1.005, 165]]; Winner: 165 
PuckTaken: (401;0;497;855) 

我試圖得到的只是「EggHatched」的第一個值和每個括號中的最後一個值。這些值然後必須在新的文本文件中以1行結束。例如,對於示例中的第一條EggHatched行,我會得到以下行作爲輸出:211 136 185 108 188 121 142 102 147 104 100 163 162 111 179

現在我知道下面的代碼將分裂:並給我它的左邊的值(PuckTaken或Egghatched在這裏每行),但我需要一些方法來使python忽略「PuckTaken」行。

for line in inputfile: 
    test1 = line.split(":")[0] 
    print test1 

我覺得有一些簡單的方法來做到這一點(一些Python命令),但谷歌並沒有幫助我很遺憾。如果任何人都能指引我朝着正確的方向,或者給我命令,我會需要那真棒!

我該如何讓python忽略所有以「PuckTaken」開頭的行?

+3

你要找的陳述''if''和''continue''。 –

+0

或're.search'。 –

回答

0

只需使用str.startwith()

for line in inputfile: 
    if line.startwith('PuckTaken'): 
     continue 
    # do something with line 
+0

我知道這將是簡單的哈哈,非常感謝! – Knarf

+0

哦,我剛剛試過它,它說「str對象沒有啓動屬性」? – Knarf

+0

nvm它是「startswith」:) – Knarf