2011-07-14 11 views
20

क्या किसी को भी पाइथन से एमएस एक्सेल तक पहुंचने का तरीका पता है? विशेष रूप से मैं नई चादरें बनाने और सूत्रों सहित डेटा के साथ भरने के लिए देख रहा हूं।एक्सेल पायथन एपीआई

अधिमानतः यदि संभव हो तो मैं इसे लिनक्स पर करना चाहूंगा, लेकिन यदि कोई अन्य तरीका नहीं है तो इसे वीएम में कर सकते हैं।

+1

एक सामान्य टिप्पणी यह ​​है कि कार्यालय फ़ाइल स्वरूप स्वयं बहुत जटिल हैं, लेकिन अधिकांश कार्यालय उपकरण बहुत सरल प्रारूपों में पढ़े जाएंगे। क्या आपने इसके बजाय '.csv' लिखने पर विचार किया है? – katrielalex

उत्तर

28

xlwt और xlrd पढ़ सकते हैं और Excel फ़ाइलें लिखने, एक्सेल खुद का उपयोग किए बिना:

http://www.python-excel.org/

+1

दुर्भाग्यवश वे सूत्रों का समर्थन नहीं करते –

+1

@jamesj: आप सूत्रों को पढ़/लिख सकते हैं। आप उनका मूल्यांकन नहीं कर सकते। उदाहरण देखें https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/examples/formulas.py –

+1

धन्यवाद, मुझे गलत समझा गया। मैंने सोचा कि आप केवल उन्हें लिख सकते हैं। –

2

यह कॉम के माध्यम से एक्सेल ऑब्जेक्ट मॉडल के माध्यम से निश्चित रूप से संभव है: बस win32com का उपयोग अजगर के लिए मॉड्यूल। अधिक याद नहीं कर सकता लेकिन मैंने एक बार पाइथन से COM के माध्यम से मीडिया प्लेयर को नियंत्रित किया। यह केक का टुकड़ा था।

+1

मैं इसे लिनक्स पर करने की उम्मीद कर रहा था, जो मुझे Win32com –

+1

तक पहुंच नहीं देगा हाँ, मैं समझता हूं। लेकिन जब माइक्रोसॉफ्ट स्वामित्व प्रारूपों (अब खुला, लेकिन व्यावहारिक रूप से बेकार) की बात आती है तो यह बेहतर है कि दस्तावेज़ पीढ़ी और मूल कोड पर प्रसंस्करण छोड़ दें।आप शराब के नीचे चलाने के लिए एक्सेल के पहले संस्करण को हमेशा ढूंढ सकते हैं ... –

5

लंबे समय पढ़ने के लिए/एक्सेल 2007 xlsx/xlsm फ़ाइलें लिखने अजगर पुस्तकालय है, लेकिन पिछले जवाब यह फ़ीड के शीर्ष फिर से धक्का दे दिया। दूसरों को पाइथन और एक्सेल का उपयोग करके अपने अनुभव से फायदा हो सकता है।

मैं एक्सेल और पायथन का उपयोग कर रहा हूं। Xlrd, xlwt मॉड्यूल का उपयोग करने के बजाय, मैं आमतौर पर पांडा का उपयोग करता हूं। मुझे लगता है कि पांडा इन मॉड्यूल को आयात के रूप में उपयोग करते हैं, लेकिन मुझे स्प्रेडशीट बनाने और पढ़ने के लिए प्रदान किए गए पांडों का उपयोग करके इसे अधिक आसान लगता है। पांडों की डाटाफ्रेम संरचना बहुत "स्प्रेडशीट जैसी" है और मेरी राय में जीवन को बहुत आसान बनाता है।

मैं जिस अन्य विकल्प का उपयोग करता हूं (आपकी समस्या के सीधे उत्तर में नहीं) DataNitro है। यह आपको एक्सेल के भीतर सीधे पाइथन का उपयोग करने की अनुमति देता है। अलग-अलग उपयोग केस, लेकिन आप इसका उपयोग करेंगे जहां आपको सामान्यतः एक्सेल में वीबीए कोड लिखना होगा।

+0

धन्यवाद, दोनों दिलचस्प दृष्टिकोण की तरह दिखते हैं। मुझे लगता है कि मैंने उस समय पांडा का मूल्यांकन किया था, लेकिन याद नहीं कर सकता कि मैंने इसका इस्तेमाल क्यों नहीं किया। –

+0

पांडा वास्तव में 'xlrd' और' xlwt' आयात करते हैं। –

3

मैं अजगर वर्ग विंडोज http://sourceforge.net/projects/excelcomforpython/ में COM इंटरफ़ेस के माध्यम से एक्सेल के साथ काम करने की अनुमति देता है कि

लिखा वर्ग win32com का उपयोग करता है Excel के साथ बातचीत करने के लिए। आप कक्षा का सीधे उपयोग कर सकते हैं या उदाहरण के रूप में इसका इस्तेमाल कर सकते हैं। सरणी सूत्रों, सशर्त स्वरूपण, चार्ट इत्यादि जैसे कई विकल्प लागू किए गए हैं

संबंधित मुद्दे