मेरे पास अनियंत्रित संख्याओं के साथ एक लॉग फ़ाइल है। मुझे बस इतना करना है कि निकालने के लिए लॉग फ़ाइल से डेटा की एक पंक्ति है जो एक स्ट्रिंग "कुल" से शुरू होती है। मुझे फाइल से कोई अन्य लाइन नहीं चाहिए।लॉग फ़ाइल पार्सिंग पाइथन
मैं इसके लिए एक साधारण पायथन प्रोग्राम कैसे लिखूं?
यह कैसे मेरे इनपुट फ़ाइल
TestName id eno TPS GRE FNP
Test 1205 1 0 78.00 0.00 0.02
Test 1206 1 0 45.00 0.00 0.02
Test 1207 1 0 73400 0.00 0.02
Test 1208 1 0 34.00 0.00 0.02
Totals 64 0 129.61 145.64 1.12
मैं कोई आउटपुट फ़ाइल जो लगता है कि
TestName id TPS GRE
Totals 64 129.61 145.64
ठीक है .. तो मैं चाहता था पाने के लिए कोशिश कर रहा हूँ लग रहा है केवल 1st, 2nd, 4 और इनपुट फ़ाइल से 5 वां कॉलम लेकिन दूसरों को नहीं। मैं इसे प्राप्त करने के लिए सूची [इंडेक्स] की कोशिश कर रहा हूं लेकिन इंडेक्स एरर प्राप्त कर रहा हूं: (सूची सूचकांक श्रेणी से बाहर)। इसके अलावा 2 कॉलम के बीच की जगह समान नहीं है इसलिए मुझे यकीन नहीं है कि कॉलम को कैसे विभाजित किया जाए और उन लोगों को चुनें जिन्हें मैं चाहता हूं। क्या कोई मेरी मदद कर सकता है। नीचे दिए गए कार्यक्रम मैं प्रयोग किया जाता है
newFile = open('sana.log','r')
for line in newFile.readlines():
if ('TestName' in line) or ('Totals' in line):
data = line.split('\t')
print data[0]+data[1]
अजगर इस कार्य के लिए overkill की तरह लगता है ... grep नहीं होगा तेज हो सकता है? –