CSV मॉड्यूल & amp का उपयोग करके पायथन में CSV फ़ाइलें पढ़ना और लिखना; पांडा

विषय - सूची:

Anonim

CSV फ़ाइल क्या है?

एक CSV फ़ाइल एक प्रकार की सादे पाठ फ़ाइल होती है जो सारणीबद्ध डेटा को व्यवस्थित करने के लिए विशिष्ट संरचना का उपयोग करती है। CSV डेटा इंटरचेंज का एक सामान्य प्रारूप है क्योंकि यह कॉम्पैक्ट, सरल और सामान्य है। कई ऑनलाइन सेवाएं अपने उपयोगकर्ताओं को वेबसाइट से CSV फ़ाइल में सारणीबद्ध डेटा निर्यात करने की अनुमति देती हैं। CSV की फाइलें एक्सेल में खुलेंगी, और लगभग सभी डेटाबेस में CSV फ़ाइल से आयात की अनुमति देने के लिए एक उपकरण होगा। मानक प्रारूप को पंक्तियों और कॉलम डेटा द्वारा परिभाषित किया गया है। इसके अलावा, अगली पंक्ति शुरू करने के लिए प्रत्येक पंक्ति को एक नई पंक्ति द्वारा समाप्त किया जाता है। पंक्ति के भीतर भी, प्रत्येक स्तंभ अल्पविराम द्वारा अलग किया गया है।

इस ट्यूटोरियल में, आप सीखेंगे:

  • CSV फ़ाइल क्या है?
  • CSV नमूना फ़ाइल।
  • पायथन सीएसवी मॉड्यूल
  • सीएसवी मॉड्यूल कार्य
  • CSV फ़ाइलें पढ़ना
  • एक शब्दकोश के रूप में पढ़ना
  • CSV फ़ाइलों को लेखन
  • पंडों के साथ CSV फ़ाइलें पढ़ना
  • पंडों के साथ CSV फ़ाइलों के लिए लेखन

CSV नमूना फ़ाइल।

तालिकाओं के रूप में डेटा को सीएसवी (अल्पविराम से अलग किए गए मान) भी कहा जाता है - शाब्दिक रूप से "अल्पविराम से अलग मूल्य।" यह टेबुल डेटा की प्रस्तुति के लिए एक पाठ प्रारूप है। फ़ाइल की प्रत्येक पंक्ति तालिका की एक पंक्ति है। अलग-अलग स्तंभों के मूल्यों को एक विभाजक प्रतीक - एक अल्पविराम (,), एक अर्धविराम (;) या किसी अन्य प्रतीक द्वारा अलग किया जाता है। CSV को पायथन द्वारा आसानी से पढ़ा और संसाधित किया जा सकता है।

निम्नलिखित टैब पर विचार करें

तालिका डेटा

प्रोग्रामिंग भाषा द्वारा डिज़ाइन किया गया दिखाई दिया एक्सटेंशन
अजगर गुइडो वैन रोसुम 1991 । खट्टा
जावा जेम्स गोस्लिंग 1995 ।जावा
सी ++ बजरने स्ट्रॉस्ट्रुप 1983 सीपीपी

आप इस तालिका को नीचे दिए गए सीएसवी में दर्शा सकते हैं।

सीएसवी डेटा

प्रोग्रामिंग लैंग्वेज, डिज़ाइन, अपीयर, एक्सटेंशन

पायथन, गुइडो वैन रोसुम, 1991, .py

जावा, जेम्स गोसलिंग, 1995, .java

सी ++, ब्रज़ेन स्ट्रॉस्ट्रुप, 1983, .cpp

जैसा कि आप देख सकते हैं कि प्रत्येक पंक्ति एक नई पंक्ति है, और प्रत्येक स्तंभ अल्पविराम से अलग किया गया है। यह एक उदाहरण है कि CSV फ़ाइल कैसी दिखती है।

CSV डेटा डाउनलोड करें

पायथन सीएसवी मॉड्यूल

पायथन CSV फ़ाइलों को संभालने के लिए एक CSV मॉड्यूल प्रदान करता है। डेटा पढ़ने / लिखने के लिए, आपको CSV की पंक्तियों के माध्यम से लूप करना होगा। आपको निर्दिष्ट कॉलम से डेटा प्राप्त करने के लिए विभाजन विधि का उपयोग करने की आवश्यकता है।

सीएसवी मॉड्यूल कार्य

CSV मॉड्यूल प्रलेखन में आप निम्न कार्य पा सकते हैं:

  • csv.field_size_limit - अधिकतम फ़ील्ड आकार लौटाएं
  • csv.get_dialect - वह बोली प्राप्त करें जो नाम के साथ संबद्ध है
  • csv.list_dialects - सभी पंजीकृत बोलियाँ दिखाएं
  • csv.reader - सीएसवी फ़ाइल से डेटा पढ़ें
  • csv.register_dialect - नाम के साथ संबद्ध बोली
  • csv.writer - सीएसवी फ़ाइल में डेटा लिखें
  • csv.unregister_dialect - बोली रजिस्ट्री नाम के साथ संबद्ध बोली हटाएं
  • csv.QUOTE_ALL - प्रकार की परवाह किए बिना, सब कुछ उद्धृत करें।
  • csv.QUOTE_MINIMAL - विशेष वर्ण वाले फ़ील्ड का उद्धरण करें
  • csv.QUOTE_NONNUMERIC - उन सभी फ़ील्डों का उद्धरण करें जो संख्या मान नहीं हैं
  • csv.QUOTE_NONE - आउटपुट में कुछ भी उद्धृत न करें

इस ट्यूटोरियल में, हम केवल पाठक और लेखक के कार्यों पर ध्यान केंद्रित करने जा रहे हैं जो आपको CSV फ़ाइल में डेटा को संपादित करने, संशोधित करने और हेरफेर करने की अनुमति देते हैं।

CSV फ़ाइल कैसे पढ़ें

CSV फ़ाइलों से डेटा पढ़ने के लिए, आपको रीडर ऑब्जेक्ट बनाने के लिए रीडर फ़ंक्शन का उपयोग करना होगा।

रीडर फ़ंक्शन फ़ाइल की प्रत्येक पंक्ति को लेने और सभी कॉलम की एक सूची बनाने के लिए विकसित किया गया है। फिर, आपको उस कॉलम को चुनना होगा जिसके लिए आप चर डेटा चाहते हैं।

यह जितना दिखता है उससे कहीं अधिक जटिल है। आइए इस उदाहरण पर एक नज़र डालें, और हमें पता चलेगा कि सीएसवी फ़ाइल के साथ काम करना इतना कठिन नहीं है।

#import necessary modulesimport csvwith open('X:\data.csv','rt')as f:data = csv.reader(f)for row in data:print(row)

जब आप ऊपर दिए गए प्रोग्राम को निष्पादित करेंगे, तो आउटपुट होगा:

['Programming language; Designed by; Appeared; Extension']['Python; Guido van Rossum; 1991; .py']['Java; James Gosling; 1995; .java']['C++; Bjarne Stroustrup;1983;.cpp']

एक शब्दकोश के रूप में एक सीएसवी कैसे पढ़ें

आप CSV फ़ाइलों को पढ़ने के लिए DictReader का उपयोग भी कर सकते हैं। परिणामों की व्याख्या एक शब्दकोश के रूप में की जाती है जहाँ हेडर पंक्ति प्रमुख है, और अन्य पंक्तियाँ मान हैं।

निम्नलिखित कोड पर विचार करें

#import necessary modulesimport csvreader = csv.DictReader(open("file2.csv"))for raw in reader:print(raw)

इस कोड का परिणाम है:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

और CSV फ़ाइल से डेटा पढ़ने का यह तरीका पहले की विधि की तुलना में बहुत आसान है। हालाँकि, यह डेटा पढ़ने का सबसे अच्छा तरीका नहीं है।

CSV फ़ाइल कैसे लिखें

जब आपके पास डेटा का एक सेट होता है जिसे आप CSV फ़ाइल में संग्रहीत करना चाहते हैं तो आपको लेखक () फ़ंक्शन का उपयोग करना होगा। पंक्तियों (पंक्तियों) पर डेटा को पुनरावृत्त करने के लिए, आपको लेखक () फ़ंक्शन का उपयोग करना होगा।

निम्नलिखित उदाहरण पर विचार करें। हम डेटा को एक फाइल "writeData.csv" में लिखते हैं, जहां सीमांकक एक एपोस्ट्रोफ है।

#import necessary modulesimport csvwith open('X:\writeData.csv', mode='w') as file:writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)#way to write to csv filewriter.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])writer.writerow(['Java', 'James Gosling', '1995', '.java'])writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

सीएसवी फ़ाइल में परिणाम है:

Programming language, Designed by, Appeared, ExtensionPython, Guido van Rossum, 1991, .pyJava, James Gosling, 1995, .javaC++, Bjarne Stroustrup,1983,.cpp

पंडों के साथ CSV फ़ाइलें पढ़ना

पंडों एक ओपनसोर्स लाइब्रेरी है जो आपको पायथन में डेटा हेरफेर करने की अनुमति देता है। पंडों डेटा बनाने, हेरफेर करने और हटाने के लिए एक आसान तरीका प्रदान करते हैं।

आपको कमांड <कोड> पाइप इंस्टॉल पांडा के साथ पांडा पुस्तकालय स्थापित करना होगा। विंडोज़ में, आप टर्मिनल में लिनक्स में रहते हुए कमांड प्रॉम्प्ट में इस कमांड को निष्पादित करेंगे।

एक पांडा में CSV पढ़ना DataFrame बहुत जल्दी और आसान है:

#import necessary modulesimport pandasresult = pandas.read_csv('X:\data.csv')print(result)

परिणाम:

Programming language, Designed by, Appeared, Extension0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp 

बहुत उपयोगी पुस्तकालय। कोड की सिर्फ तीन पंक्तियों में आप पहले जैसा ही परिणाम देंगे। पंडों को पता है कि CSV की पहली पंक्ति में कॉलम नाम शामिल हैं, और यह उनका उपयोग स्वचालित रूप से करेगा।

पंडों के साथ CSV फ़ाइलों के लिए लेखन

पंडों के साथ CSV फ़ाइल में लिखना उतना ही आसान है जितना पढ़ना। यहां आप इसे मना सकते हैं। सबसे पहले आपको निम्नलिखित कोड के आधार पर DataFrame बनाना होगा।

from pandas import DataFrameC = {'Programming language': ['Python','Java', 'C++'],'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],'Appeared': ['1991', '1995', '1985'],'Extension': ['.py', '.java', '.cpp'],}df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be storedprint (df)

यहाँ आउटपुट है

Programming language, Designed by, Appeared, Extension0 Python, Guido van Rossum, 1991, .py1 Java, James Gosling, 1995, .java2 C++, Bjarne Stroustrup,1983,.cpp

और CSV फ़ाइल निर्दिष्ट स्थान पर बनाई गई है।

निष्कर्ष

तो, अब आप जानते हैं कि कैसे विधि 'सीएसवी' का उपयोग करें और सीएसवी प्रारूप में डेटा भी पढ़ें और लिखें। CSV फ़ाइलों का व्यापक रूप से सॉफ़्टवेयर अनुप्रयोगों में उपयोग किया जाता है क्योंकि वे पढ़ने और प्रबंधित करने में आसान होते हैं, और उनका छोटा आकार उन्हें प्रसंस्करण और संचरण के लिए अपेक्षाकृत तेज़ बनाता है।

सीएसवी मॉड्यूल विभिन्न कार्यों और कक्षाएं प्रदान करता है जो आपको आसानी से पढ़ने और लिखने की अनुमति देता है। आप आधिकारिक पायथन प्रलेखन को देख सकते हैं और कुछ और दिलचस्प टिप्स और मॉड्यूल पा सकते हैं। CSV डेटा को सहेजने, देखने और भेजने का सबसे अच्छा तरीका है। वास्तव में, यह सीखना इतना कठिन नहीं है जितना कि यह शुरुआत में लगता है। लेकिन थोड़े अभ्यास के साथ, आप इसमें महारत हासिल करेंगे।

पंडों CSV फ़ाइलों को पढ़ने के लिए एक बढ़िया विकल्प है।

इसके अलावा, ANTLR, PLY, और PlyPlus जैसे पुस्तकालयों के साथ पाठ फ़ाइलों को पार्स करने के अन्य तरीके हैं। वे सभी हैवी-ड्यूटी पार्सिंग को संभाल सकते हैं, और यदि सरल स्ट्रिंग हेरफेर काम नहीं करता है, तो नियमित अभिव्यक्ति हैं जो आप उपयोग कर सकते हैं।