समझिए
1. सेटअप (एक बार)
- python.org से Python 3.11 या नया इंस्टॉल करें (Windows: Add python.exe to PATH टिक करें)।
- अपने प्रोजेक्ट फ़ोल्डर में टर्मिनल (Command Prompt / PowerShell / Terminal) खोलें।
- वर्चुअल एनवायरनमेंट बनाएँ, ताकि हर प्रोजेक्ट की अपनी लाइब्रेरी हों:
python -m venv .venv
# Windows
.venv\Scripts\activate
# Mac / Linux
source .venv/bin/activate
pip install pandas openpyxl xlwings
- स्क्रिप्ट लिखने और चलाने के लिए VS Code (Python एक्सटेंशन के साथ) इस्तेमाल करें।
2. तीन लाइब्रेरी
| pandas | openpyxl | xlwings | |
|---|---|---|---|
| इसे ऐसे समझें | Excel का डेटा दिमाग़ — फ़िल्टर, ग्रुप, मर्ज | Excel फ़ाइल एडिटर | Excel ऐप का रिमोट कंट्रोल |
| Excel इंस्टॉल होना ज़रूरी? | नहीं | नहीं | हाँ (Windows या Mac) |
| ताक़त | तेज़ डेटा विश्लेषण, लाखों रो | फ़ॉर्मेटिंग, फ़ॉर्मूले, चार्ट, कई शीट | खुली वर्कबुक के साथ काम, VBA चलाना, बटन से Python चलाना |
| कमज़ोरी | फ़ॉर्मेटिंग पर कंट्रोल नहीं | भारी डेटा विश्लेषण में धीमा; फ़ॉर्मूले की गणना नहीं करता | Excel चाहिए; सर्वर के लिए नहीं |
| सर्वर / GitHub Actions पर चलता है | ✅ | ✅ | ❌ |
3. ये साथ कैसे काम करते हैं
सबसे आम तरीका:
pandas reads + cleans + summarises → pandas writes the sheets → openpyxl formats them
pandas असल में .xlsx पढ़ने-लिखने के लिए पर्दे के पीछे openpyxl ही इस्तेमाल करता है।
4. चुनना — झटपट गाइड
| काम | इस्तेमाल करें |
|---|---|
| 50 CSV जोड़कर रीजन के हिसाब से टोटल | pandas |
| हेडर बोल्ड, कॉलम चौड़ाई, चार्ट जोड़ना | openpyxl |
| पहले से फ़ॉर्मेट किया इनवॉइस टेम्पलेट भरना | openpyxl |
| यूज़र की अभी खुली शीट पढ़ना, नतीजे लाइव वापस लिखना | xlwings |
| Excel में बटन जो Python स्क्रिप्ट चलाए | xlwings |
| सर्वर पर रोज़ रात की शेड्यूल रिपोर्ट | pandas + openpyxl |
5. हर एक की झलक
import pandas as pd
df = pd.read_excel("sales.xlsx")
print(df.groupby("Region")["Amount"].sum())
from openpyxl import load_workbook
from openpyxl.styles import Font
wb = load_workbook("sales.xlsx")
ws = wb.active
ws["A1"].font = Font(bold=True)
wb.save("sales.xlsx")
import xlwings as xw
wb = xw.Book("sales.xlsx") # opens it in Excel
print(wb.sheets[0]["A1"].value)
6. openpyxl के बारे में दो ज़रूरी बातें
- यह फ़ॉर्मूले की गणना नहीं करता।
=SUM(B2:B10)सही लिखता है, और फ़ाइल खुलने पर Excel गणना करता है।load_workbook(path, data_only=True)से पढ़ने पर वह वैल्यू मिलती है जो Excel ने पिछली बार सेव की थी (अगर फ़ाइल कभी Excel में नहीं खुली तो खाली)। - यह सिर्फ़ .xlsx/.xlsm के साथ चलता है, पुरानी .xls के साथ नहीं (उनके लिए
xlrdपैकेज के साथpandas.read_excelइस्तेमाल करें)।
7. "Python in Excel" का क्या?
Microsoft 365 में =PY() फ़ंक्शन है जो Microsoft के क्लाउड में, सेल के अंदर Python चलाता है। वर्कबुक के अंदर विश्लेषण के लिए बढ़िया है, पर यह आपकी लोकल फ़ाइलें नहीं पढ़ सकता, ईमेल नहीं भेज सकता, शेड्यूल पर नहीं चल सकता। ऑटोमेशन के लिए इस मॉड्यूल की लाइब्रेरी ही चाहिए।
आम गलतियाँ
वर्चुअल एनवायरनमेंट एक्टिवेट किए बिना लाइब्रेरी इंस्टॉल करना। सर्वर पर चलने वाली स्क्रिप्ट के लिए xlwings इस्तेमाल करना। openpyxl से फ़ॉर्मूले के नतीजे की उम्मीद करना।