इस सवाल का पहले से ही एक उत्तर है: < / P>
- 5 जवाब
मेरे पास एक टेक्स्ट फाइल है कॉलम। मैं कॉलम "सी" में डेटा निकालना चाहता हूं
एबीसी 2013 कोलंबो श्री लंका 2012 टोक्यो जापान
फ्लोलिंग कोड है जिसे मैं डेटा खोजना चाहता था ।
f = open ('log.txt', 'r') डेटा = f.read () आयात फिर से #print डेटा def खोज (पॅट, पाठ): match = re.search (पॅट, पाठ) यदि मैच: प्रिंट match.group () अन्य: प्रिंट 'नहीं मिला!' X = re.findall (r '\ w +:', डेटा) प्रिंट एक्स
आपका प्रारूप वास्तव में अनिर्दिष्ट है - एक अच्छा नियम प्राप्त करना कठिन है जहां एक स्तंभ समाप्त होता है और दूसरा प्रारंभ होता है। यदि आपके पास कुछ ग़लत ढंग से पंक्तियां हैं, तो डेटा को कॉलम से मेल खाने का निर्णय लेने के लिए बेतरतीब ढंग से निर्णय करना असंभव हो सकता है।
इसलिए, आपको कुछ ह्यूरिस्टिक्स की आवश्यकता होगी। कम से कम 3 व्हाटस्पेस पात्रों द्वारा सीमांकित कॉलम पर विचार करने का एक बढ़िया दृष्टिकोण है
& gt; & gt; & gt; प्रिंट डेटा ए बी सी 2013 कोलंबो श्रीलंका 2012 टोक्यो जापान & gt; & gt; & gt; Data.splitlines ()] [['ए', 'बी', 'सी'], ['2013'] में पंक्ति के लिए ('\ s {3,}') विभाजित (line.strip ())। , 'कोलंबो', 'श्रीलंका'], ['2012', 'टोक्यो', 'जापान']]
नियमित अभिव्यक्ति
\ s {3,} का अर्थ है "कम से कम 3 व्हाट्सपेस वर्ण"।
No comments:
Post a Comment