फ़ाइलों में डेटा संग्रहीत करने से आप उस डेटा का रिकॉर्ड रख सकते हैं जिसके साथ कोई प्रोग्राम काम कर रहा है। इसका मतलब है कि किसी प्रोग्राम के साथ काम करते समय आपको दोबारा डेटा जेनरेट नहीं करना पड़ेगा। आपने अभी उस डेटा को एक फ़ाइल से पढ़ा है।
फ़ाइलें पढ़ने के लिए, readlines()
का उपयोग करें तरीका। एक बार जब आप कोई फ़ाइल पढ़ लेते हैं, तो आप split()
. का उपयोग करते हैं उन पंक्तियों को एक सूची में बदलने के लिए।
इस गाइड में, हम चर्चा करते हैं कि split()
. का उपयोग कैसे करें किसी टेक्स्ट फ़ाइल को सूची में पढ़ने की विधि। हम एक उदाहरण का उल्लेख करेंगे ताकि आप टेक्स्ट फ़ाइलों को सूचियों में जल्दी से पढ़ना शुरू कर सकें।
पायथन:टेक्स्ट फ़ाइल को सूची में पढ़ें
चलिए एक टेक्स्ट फ़ाइल से शुरू करते हैं जिसे grilled_cheese.txt कहा जाता है। इस फ़ाइल में ग्रिल्ड चीज़ सैंडविच की सामग्री है। हमारी फ़ाइल सामग्री इस तरह दिखती है:
2 टेबल-स्पून, रिकोटा1 टेबल-स्पून, कद्दूकस किया हुआ पार्मेसन50 ग्राम, मोज़ेरेला25 ग्राम, गोर्गोन्ज़ोला2, मोटे स्लाइस सफ़ेद ब्रेड1 टेबल-स्पून, मक्खन
हमारी फ़ाइल के पहले कॉलम में उपयोग किए जाने वाले प्रत्येक घटक की मात्रा होती है। दूसरे कॉलम में एक घटक का नाम होता है।
हम इस फ़ाइल को open()
. का उपयोग करके अपने कोड में पढ़ते हैं और readlines()
तरीके:
ओपन ("grilled_cheese.txt", "r") के साथ ग्रिल्ड_चीज़ के रूप में:लाइन्स =ग्रिल्ड_चीज़.रीडलाइन्स () प्रिंट (लाइन्स)
हमारे कोड में, हम "grilled_cheese.txt" नामक फ़ाइल को रीड मोड में खोलते हैं। रीड मोड को हमारे open()
. में "r" कैरेक्टर द्वारा दर्शाया जाता है बयान। इसके बाद, हम उन पंक्तियों को कंसोल पर प्रिंट करते हैं।
आइए देखें कि हमारा पायथन कोड क्या लौटाता है:
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
['2 बड़े चम्मच, रिकोटा\n', '1 बड़ा चम्मच, कद्दूकस किया हुआ परमेसन\n', '50g, मोज़ेरेला\n', '25g, गोरगोन्जोला\n', '2, मोटी स्लाइस सफेद ब्रेड\n', '1 बड़ा चम्मच, मक्खन\n']
हमारा कोड हमारी फ़ाइल में प्रत्येक पंक्ति की एक सूची देता है। यह वह आउटपुट नहीं है जिसकी हम उम्मीद कर रहे हैं। जब हमने अपनी फ़ाइल को एक सूची में पढ़ा है, तो हमें एक समस्या है:प्रत्येक पंक्ति अपनी स्ट्रिंग में संग्रहीत होती है। सामग्री और उनकी मात्रा अलग नहीं हैं।
मानों को एक सूची में विभाजित करें
इस समस्या को हल करने के लिए, हम विभाजन () विधि का उपयोग करते हैं। यह विधि हमें हमारे द्वारा निर्दिष्ट विभाजक वर्ण का उपयोग करके एक स्ट्रिंग को विभाजित करने देती है।
शुरू करने के लिए, हम दो सूचियाँ घोषित करते हैं:मात्रा और सामग्री। यह कोड इंडेंटेड रहेगा क्योंकि यह हमारे open()
. का हिस्सा है कोड का ब्लॉक।
हम अपनी सूची पर पुनरावृति करेंगे ताकि हम अपनी फ़ाइल से पाठ की प्रत्येक पंक्ति तक पहुँच सकें। फिर हम प्रत्येक पंक्ति को दो भागों में विभाजित करेंगे। विभाजन बिंदु अल्पविराम है जिसके बाद प्रत्येक पंक्ति पर एक स्थान होता है:
लाइनों में l के लिए:as_list =l.split(", ") मात्राएँ.append(as_list[0]) सामग्री।append(as_list[1])
लूप के लिए हम अपनी फाइल लाइन को लाइन से पढ़ सकते हैं। "as_list" में पहला मान एक घटक की मात्रा है। दूसरा मान घटक का नाम है। फिर हम इन दोनों सूचियों को कंसोल पर प्रिंट करते हैं:
प्रिंट (मात्रा) प्रिंट (सामग्री)
चलिए अपना कोड चलाते हैं:
['2 बड़े चम्मच, रिकोटा\n', '1 बड़ा चम्मच, कद्दूकस किया हुआ परमेसन\n', '50g, मोज़ेरेला\n', '25g, गोरगोन्जोला\n', '2, मोटी स्लाइस सफेद ब्रेड\n', '1 बड़ा चम्मच, मक्खन\n'] ['2 बड़ा चम्मच', '1 बड़ा चम्मच', '50 ग्राम', '25 ग्राम', '2', '1 बड़ा चम्मच'] ['रिकोटा\n', 'कसा हुआ परमेसन\n' , 'मोज़ेरेला\n', 'गोरगोन्जोला\n', 'मोटी स्लाइस सफेद ब्रेड\n', 'मक्खन\n']
हमारा कोड कंसोल पर तीन सूचियां प्रिंट करता है। पहली सूची हमारी फ़ाइल में टेक्स्ट की सभी पंक्तियों की एक सूची है। दूसरी सूची में हमारी फ़ाइल की सभी मात्राएँ हैं। तीसरी सूची में सभी सामग्रियां हैं।
नई लाइनें हटाएं
अभी भी एक सुधार है जिसे हमें करने की जरूरत है। प्रत्येक घटक "\n" वर्ण में समाप्त होता है। यह वर्ण एक नई रेखा को दर्शाता है। हम रिप्लेस () मेथड का इस्तेमाल करके इस कैरेक्टर को हटा सकते हैं:
लाइनों में l के लिए:as_list =l.split(", ") मात्राएं। संलग्न करें (as_list [0]) सामग्री। संलग्न करें (as_list [1]। बदलें ("\ n", ""))
हमारे लूप के लिए, हम "\n" मान को एक खाली स्ट्रिंग से बदल देते हैं। हम इसे as_list[1] मान पर करते हैं जो प्रत्येक घटक के नाम से संबंधित है।
अब जब हमने यह परिवर्तन कर लिया है, तो हमारा कार्यक्रम तैयार है:
ओपन ("grilled_cheese.txt", "r") के साथ ग्रिल्ड_चीज़ के रूप में:लाइन्स =ग्रिल्ड_चीज़.रीडलाइन्स () मात्रा =[] सामग्री =[] लाइन में l के लिए:as_list =l.split(", ") मात्रा .append(as_list[0]) material.append(as_list[1].replace("\n", "")) प्रिंट (मात्रा) प्रिंट (सामग्री)
आइए अपना कोड चलाएं और देखें कि क्या होता है:
['2 बड़ा चम्मच', '1 बड़ा चम्मच', '50g', '25g', '2', '1 बड़ा चम्मच']['रिकोटा', 'कसा हुआ परमेसन', 'मोज़ेरेला', 'गोरगोन्ज़ोला', ' मोटी स्लाइस सफेद ब्रेड', 'मक्खन']
हमारा कोड हमारी टेक्स्ट फ़ाइल को सफलतापूर्वक दो सूचियों में बदल देता है। एक सूची में एक नुस्खा के लिए सामग्री की मात्रा होती है। दूसरी सूची में वे सामग्रियां हैं जिनका उपयोग हम नुस्खा के लिए करेंगे।
निष्कर्ष
आप open()
. का उपयोग करके टेक्स्ट फ़ाइल पढ़ सकते हैं और readlines()
तरीके। किसी टेक्स्ट फ़ाइल को सूची में पढ़ने के लिए, split()
. का उपयोग करें तरीका। यह विधि स्ट्रिंग्स को एक निश्चित वर्ण की सूची में विभाजित करती है।
ऊपर के उदाहरण में, हम अल्पविराम और स्थान (",") की स्थिति के आधार पर एक स्ट्रिंग को एक सूची में विभाजित करते हैं। अब आप एक विशेषज्ञ की तरह एक टेक्स्ट फ़ाइल को पायथन में एक सूची में पढ़ने के लिए तैयार हैं।