python - एमएस - माइक्रोसॉफ्ट वर्ड




एमएस वर्ड से डेटा निकालने (4)

आप OpenOffice का उपयोग कर सकते हैं यह शब्द फ़ाइलें खोल सकता है, और अजगर मैक्रोज भी चला सकता है।

मैं Word फ़ाइलों से डेटाबेस को निकालने / स्क्रैप करने के लिए एक तरीका तलाश रहा हूं हमारी कॉर्पोरेट प्रक्रियाओं में एमएस वर्ड फाइल्स में दर्ज़ किए गए ग्राहकों के साथ मीटिंग्स की बैठकें हैं, जो ज्यादातर इतिहास और जड़ता के कारण हैं।

मैं इन मीटिंग मिनटों से कार्रवाई वस्तुओं को एक डेटाबेस में खींचने में सक्षम होना चाहता हूं ताकि हम उन्हें वेब-इंटरफ़ेस से एक्सेस कर सकें, उन्हें कार्य में बदल सकें और उन्हें पूरा कर सकें, जैसे वे पूरा हो जाएं।

ऐसा करने का सबसे अच्छा तरीका क्या है:

  1. वर्ड के अंदर से VBA मैक्रो सीएसवी बनाने के लिए और फिर डीबी पर अपलोड करें?
  2. डीबी के संबंध में वर्ड में VBA मेक्रो (कैसे एक MySQL से VBA से कनेक्ट होता है?)
  3. पायथन स्क्रिप्ट win32com के माध्यम से तो डीबी पर अपलोड करें?

पिछले एक मेरे लिए आकर्षक है क्योंकि वेब-इंटरफेस को Django के साथ बनाया जा रहा है, लेकिन मैंने कभी win32com का उपयोग नहीं किया है या अजगर से शब्द स्क्रिप्टिंग करने का प्रयास किया है।

संपादित करें: मैंने VBA के साथ पाठ निकालने शुरू कर दिया है क्योंकि यह Word ऑब्जेक्ट मॉडल से निपटने के लिए थोड़ा आसान बनाता है। मुझे एक समस्या है, हालांकि - सभी पाठ तालिका में हैं, और जब मैं तारों को सील्स के बाहर खींचता हूं जो मैं चाहता हूं, मुझे प्रत्येक स्ट्रिंग के अंत में एक अजीब छोटे बॉक्स वर्ण मिलता है। मेरा कोड ऐसा दिखता है:

sFile = "D:\temp\output.txt"
fnum = FreeFile
Open sFile For Output As #fnum

num_rows = Application.ActiveDocument.Tables(2).Rows.Count

For n = 1 To num_rows
    Descr = Application.ActiveDocument.Tables(2).Cell(n, 2).Range.Text
    Assign = Application.ActiveDocument.Tables(2).Cell(n, 3).Range.Text
    Target = Application.ActiveDocument.Tables(2).Cell(n, 4).Range.Text
    If Target = "" Then
        ExportText = ""
    Else
        ExportText = Descr & Chr(44) & Assign & Chr(44) & _
            Target & Chr(13) & Chr(10)
        Print #fnum, ExportText
    End If
Next n

Close #fnum

थोड़ा नियंत्रण चरित्र बॉक्स के साथ क्या हो रहा है? क्या वर्ड से कोई प्रकार का वर्ण कोड आ रहा है?


कैसे फ़ाइल को एक्सएमएल के रूप में सहेजना तो अजगर या कुछ और का उपयोग करके और डेटा के बाहर शब्द और डेटाबेस में खींचें


वर्ड दस्तावेज़ को HTML के रूप में प्रोग्रामेटिक रूप से सहेजना और एक्सेस में समाहित तालिका (इमेज) को आयात करना संभव है। इसके लिए बहुत कम प्रयास की आवश्यकता है


वर्ड में एक छोटी सी मार्कर चीज है जो टेबल के पाठ के प्रत्येक सेल के अंत में डालती है।

यह पैराग्राफ में पैरामीटर के अंत के समान ही प्रयोग किया जाता है: संपूर्ण पैराग्राफ के लिए फ़ॉर्मेटिंग को स्टोर करने के लिए

बस इसे छोड़ने के लिए वाम () फ़ंक्शन का उपयोग करें, अर्थात

 Left(Target, Len(Target)-1))

वैसे, इसके बजाय,

 num_rows = Application.ActiveDocument.Tables(2).Rows.Count
 For n = 1 To num_rows
      Descr = Application.ActiveDocument.Tables(2).Cell(n, 2).Range.Text

इसे इस्तेमाल करे:

 For Each row in Application.ActiveDocument.Tables(2).Rows
      Descr = row.Cells(2).Range.Text




pywin32