ভূমিকা
মাইক্রোসফ্ট ওয়ার্ড বা স্প্রেডশীট আমার পছন্দ নয়। ডেটা ইঞ্জিনিয়ারিং-स্পেশালিস্ট হয়ে আমি টেস্টারদের থেকে টেস্ট রেজাল্ট ওয়ার্ড ডকুমেন্টে পাই। তারা স্ক্রিনশট, লিংক, বিশাল প্যারাগ্রাফ—সব কিছু ওয়ার্ডে রাখে। ওয়ার্ড ডকুমেন্ট সিম্পল টেক্সটকে বড়, স্লো, ফরম্যাট-হারানো ফাইলে রূপান্তর করে দেয়।
পাইথনের ওয়ার্ড সাপোর্ট সীমিত। python-docx লাইব্রেরি ডকুমেন্ট তৈরি ও বেসিক মেটাডেটা পড়তে দেয়, কিন্তু মূল কন্টেন্ট পড়া যায় না। তাই কাস্টম কোড লিখতে হয়।
ইন্টারনেট থেকে একটি স্যাম্পল ওয়ার্ড ডকুমেন্ট ব্যবহার করা হয়েছে: https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx
কীভাবে করবেন
- ইম্পোর্টস:
from zipfile import ZipFile from urllib.request import urlopen from io import BytesIO - রিমোট ওয়ার্ড ডকুমেন্ট বাইনারি হিসেবে পড়ুন, আনজিপ করুন, XML কন্টেন্ট পড়ুন:
file_url = 'https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.docx' wordDocx = urlopen(file_url).read() wordDocx = BytesIO(wordDocx) document = ZipFile(wordDocx) xml_content = document.read('word/document.xml') print(xml_content.decode('utf-8'))
আউটপুট হিসেবে সম্পূর্ণ XML কন্টেন্ট দেখাবে (w:t ট্যাগগুলোর মধ্যে টেক্সট রয়েছে)। এই XML কন্টেন্ট থেকে প্রয়োজনীয় টেক্সট এক্সট্র্যাক্ট করতে পারেন।
নোট
এই পদ্ধতিতে টেবিল, ইমেজ, ফরম্যাটিং ইত্যাদি হ্যান্ডেল করা জটিল। প্রোডাকশনে python-docx বা docx2txt লাইব্রেরি ব্যবহার করা ভালো।