![](https://products-qa.fileformat.com/hi/spreadsheet/python/pyexcel/header-image.png)
PyExcel
स्प्रेडशीट के लिए ओपन सोर्स पायथन लाइब्रेरी
पायथन एपीआई के माध्यम से सीएसवी, ओडीएस, एक्सएलएस, एक्सएलएसएक्स और एक्सएलएसएम स्प्रेडशीट फाइलों में डेटा पढ़ें, बनाएं, मर्ज करें और फ़िल्टर करें।
PyExcel एक ओपन सोर्स सिंगल पायथन एपीआई है जो कई लोकप्रिय स्प्रेडशीट प्रारूपों के साथ काम करने का समर्थन करता है। यह सॉफ्टवेयर प्रोग्रामर को CSV, ODS, XLS, XLSX और XLSM फ़ाइल स्वरूपों में डेटा को पढ़ने, हेरफेर करने और लिखने में सक्षम बनाता है। एपीआई फ़ाइल स्वरूपों के बजाय डेटा पर बहुत अधिक ध्यान केंद्रित करता है। पुस्तकालय वेब डेवलपर्स को एक सामान्य प्रोग्रामिंग इंटरफ़ेस प्रदान करके अधिकांश एक्सेल फ़ाइल स्वरूपों को संभालने में मदद करता है।
एमएस एक्सेल फाइलों से डेटा प्राप्त करना या निर्यात करना बहुत आसान है। एक्सेल फाइलों से डेटा प्राप्त करने के लिए अधिकतर इसे वन-लाइनर कोड की आवश्यकता होती है। विभिन्न एक्सेल फ़ाइल स्वरूपों में डेटा को पढ़ने और लिखने के लिए केवल एक एपीआई है। कई महत्वपूर्ण विशेषताएं एपीआई द्वारा पूरी तरह से समर्थित हैं, जैसे स्प्रेडशीट में डेटा पढ़ना और अपडेट करना, सभी एक्सेल फाइलों को एक निर्देशिका में विलय करना, कार्यपुस्तिका को विभाजित करना, कार्यपुस्तिका से शीट निकालना, पंक्तियों और कोशिकाओं को मर्ज करना, कॉलम स्टाइल करना, कॉलम जोड़ना या हटाना एक शीट से, डेटा फ़िल्टरिंग और बहुत कुछ। एपीआई बाहरी प्लगइन्स द्वारा समर्थित फ़ाइल स्वरूपों की एक सूची प्रदान करता है। प्लगइन जोड़ने या हटाने के लिए आप pip का उपयोग कर सकते हैं।
PyExcel के साथ शुरुआत करना
सबसे पहले, आपको अपने सिस्टम पर Python 2.6 या उच्चतर स्थापित करने की आवश्यकता है। स्थापित करने का अनुशंसित तरीका पाइप के माध्यम से है। कृपया निम्न आदेश का प्रयोग करें।
PIP कमांड के माध्यम से PyExcel स्थापित करें
pip install pyexcel
एक्सेल स्प्रेडशीट के साथ काम करने के लिए पायथन एपीआई
PyExcel API सॉफ्टवेयर डेवलपर्स को CSV, ODS, XLS, XLSX और XLSM जैसे विभिन्न एक्सेल फॉर्मेट में डेटा को एक्सेस करने, पढ़ने, लिखने और हेरफेर करने में सक्षम बनाता है। PyExcel API का उपयोग करके Excel फ़ाइलों से डेटा आयात या निर्यात करना बहुत आसान है। यह किसी मौजूदा फ़ाइल में एक नई पंक्ति जोड़ने, मौजूदा फ़ाइल में एक पंक्ति को अपडेट करने, मौजूदा फ़ाइल में कॉलम जोड़ने या अपडेट करने, शीट्स को मर्ज या विभाजित करने, डेटा खोजने, एक्सेल फ़ाइलों को अन्य प्रारूपों में बदलने और बहुत कुछ का समर्थन करता है।
पायथन API के माध्यम से मौजूदा स्प्रेडशीट फ़ाइल में नई पंक्ति जोड़ें
import pyexcel as pe
sheet = pe.get_sheet(file_name="example.xls")
sheet.row += [12, 11, 10]
sheet.save_as("new_example.xls")
pe.get_sheet(file_name="new_example.xls")
एक्सेल वर्कशीट को मर्ज और विभाजित करें
PyExcel API डेवलपर को उन फ़ाइलों को मर्ज करने की क्षमता देता है जो एक निर्देशिका में बिखरी हुई हैं और एक एक्सेल वर्कबुक में हैं। प्रत्येक फ़ाइल एक कार्यपुस्तिका के अंदर एक शीट बन जाएगी। यह एक्सएलएस, सीएसवी, एक्सएलएसएम और ओडीएस जैसे अन्य एक्सेल प्रारूपों के मिश्रण और मिलान के लिए सुविधाएं भी प्रदान करता है। यह आपको एक कार्यपुस्तिका को कई फाइलों में विभाजित करने की सुविधा भी देता है। मान लीजिए कि आपके पास कई वर्कशीट वाली एक किताब है, ओपन सोर्स PyExcel लाइब्रेरी का उपयोग करके आप प्रत्येक को एक सिंगल शीट एक्सेल फाइल में अलग कर सकते हैं।
पाइथन API के माध्यम से मर्ज या स्प्लिट एक्सेल फ़ाइलें
//merge two files into one file
from pyexcel.cookbook import merge_two_files
merge_two_files("example.csv", "example.xls", "output.xls")
//Split a workbook into single sheet files
from pyexcel.cookbook import split_a_book
split_a_book("megabook.xls", "output.xls")
import glob
outputfiles = glob.glob("*_output.xls")
for file in sorted(outputfiles):
print(file)
स्प्रेडशीट में डेटा फ़िल्टरिंग
PyExcel API डेवलपर्स को अपनी जरूरतों के अनुसार डेटा फ़िल्टर करने के लिए सुविधाएँ प्रदान करता है। मान लीजिए कि आपके पास बड़ी मात्रा में डेटा है और आप उसमें से कुछ डेटा को फ़िल्टर करना चाहते हैं। एपीआई का उपयोग करके आप इसे आसानी से कर सकते हैं। यह शीट से खाली पंक्तियों या स्तंभों को फ़िल्टर करने का भी समर्थन करता है। आप फ़िल्टर डेटा को दूसरी फ़ाइल में भी सहेज सकते हैं।
पाइथन ऐप्स के अंदर Excel शीट से खाली रॉस को कैसे फ़िल्टर करें
import pyexcel as pe
sheet = pe.Sheet([[1,2,3],['','',''],['','',''],[1,2,3]])
//define filter
def filter_row(row_index, row):
result = [element for element in row if element != '']
return len(result)==0
// Apply filter
del sheet.row[filter_row]