कई Excel वर्कशीट्स से डेटा लोड और कंबाइन करने की प्रक्रिया ऑटोमेट करें
अब आप listings.xlsx Excel फ़ाइल में सभी तीन एक्सचेंजों की लिस्टिंग जानकारी को for लूप लागू करके ऑटोमेटिक रूप से इम्पोर्ट करने के लिए तैयार हैं. आप यह करेंगे:
pd.ExcelFile()ऑब्जेक्ट केsheet_namesएट्रिब्यूट से शीट के नाम प्राप्त करें.- एक खाली लिस्ट बनाइए.
- ऐसा for लूप लिखिए जो इन शीट नामों पर इटरेट करे, Excel फ़ाइल में उसी शीट नाम से डेटा पढ़कर एक वैरिएबल में रखे. चाहें तो एक रेफरेंस कॉलम जोड़ें. हर इटरेशन में इस वैरिएबल की सामग्री को लिस्ट में अपेंड करें.
- लिस्ट में मौजूद DataFrames को कंकेटनेट करें.
हमेशा की तरह, अगर ज़रूरत पड़े तो इस अध्याय के पिछले अभ्यासों या pandas डॉक्यूमेंटेशन को देखें. pandas पहले से pd नाम से इम्पोर्ट किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में वित्तीय डेटा इम्पोर्ट और मैनेज करना
अभ्यास निर्देश
- फ़ाइल
listings.xlsxका उपयोग करकेpd.ExcelFile()ऑब्जेक्ट बनाएँ और वैरिएबलxlsको असाइन करें. xlsके.sheet_namesएट्रिब्यूट से शीट के नाम निकालें औरexchangesको असाइन करें.- एक खाली लिस्ट बनाएँ और वैरिएबल
listingsको असाइन करें. exchangeको इटरेटर वैरिएबल बनाकर for लूप सेexchangesपर इटरेट करें. हर इटरेशन में:- मिसिंग वैल्यूज़ को संभालने के लिए
xlsको डेटा सोर्स,exchangeकोsheet_nameआर्ग्युमेंट, और'n/a'कोna_valuesदेकरpd.read_excel()चलाएँ. परिणाम कोlistingमें असाइन करें. listingमें'Exchange'नाम का नया कॉलम बनाएँ और इसका मानexchange(इटरेटर वैरिएबल) रखें.- तैयार
listingDataFrame कोlistingsमें अपेंड करें.
- मिसिंग वैल्यूज़ को संभालने के लिए
pd.concat()का उपयोग करकेlistingsकी सामग्री को कंकेटनेट करें औरlisting_dataमें असाइन करें..info()चलाकरlisting_dataकी सामग्री जाँचें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create the pd.ExcelFile() object
xls = ____
# Extract the sheet names from xls
exchanges = ____.____
# Create an empty list: listings
# Import the data
for exchange in exchanges:
listing = pd.____(____, sheet_name=____, na_values='n/a')
listing['Exchange'] = ____
listings.____(____)
# Concatenate the listings: listing_data
listing_data = pd.____(____)
# Inspect the results
listing_data.info()