2008-10-09 22 views
18

में एमएस वर्ड फाइलें पढ़ना/लिखना क्या कोई ऑब्जेक्ट का उपयोग किए बिना पाइथन में वर्ड (2003 और 2007) फ़ाइलों को पढ़ना और लिखना संभव है?
मुझे पता है कि मैं कर सकते हैं:पायथन

f = open('c:\file.doc', "w") 
f.write(text) 
f.close() 

लेकिन पद एक HTML फ़ाइल नहीं एक देशी .doc फ़ाइल के रूप में यह पढ़ा जाएगा।

उत्तर

7

मैं IronPython पर देखता हूं जो आंतरिक रूप से विंडोज़/ऑफिस एपीआई तक पहुंचता है क्योंकि यह .NET रनटाइम पर चलता है।

3

डॉक्टर (इस मामले में वर्ड 2003) और डॉक्क्स (वर्ड 2007) विभिन्न प्रारूप हैं, जहां बाद वाला आमतौर पर एक्सएमएल और छवि फ़ाइलों का संग्रह होता है। मैं कल्पना करता हूं कि उन एक्सएमएल फाइलों की सामग्री में हेरफेर करके डॉक्स फाइलों को लिखना बहुत संभव है। हालांकि मुझे नहीं लगता कि आप किसी प्रकार के COM घटक इंटरफ़ेस के बिना दस्तावेज़ फ़ाइल को कैसे पढ़ और लिख सकते हैं।

38

python-docx देखें, इसका आधिकारिक दस्तावेज here उपलब्ध है।

यह मेरे लिए बहुत अच्छा काम करता है।

+0

लेकिन यह .doc प्रारूप समर्थित है, मैं करने की कोशिश की लेकिन यह फेंकता मुझे एक ValueError 'ValueError: फ़ाइल '' वर्ड फ़ाइल नहीं है, सामग्री प्रकार 'एप्लिकेशन/vnd.openxmlformats-officedocument.themeManager + xml' – Shashank

+0

है पाइथन-डॉक्क्स नहीं कहा जाता है पायथन-डॉक्टर, तो नहीं। :) – Damian

6

यदि आप केवल क्या पढ़ने के लिए, यह simplest है linux soffice आदेश का उपयोग करने के लिए यह पाठ में कनवर्ट करते हैं, और उसके बाद अजगर में पाठ लोड करने के लिए:

+2

+1 मुझे नहीं पता कि यह नकारात्मक वोट क्यों प्राप्त करता है। यह कभी-कभी एकमात्र समाधान होता है और कभी-कभी यह पर्याप्त होता है। –