CSV बड़ा डेटा प्रोसेसिंग
10 लाख की डेटा से डर मत खाओ - OpenClaw सीधे Python चलाता है
CSV के साथ की परेशानियां
Excel में 50 लाख लाइन खोलो तो घूमने लगता है, 10 लाख तो सीधे बंद हो जाता है। बड़ी मेहनत से खुल जाए तो स्क्रॉल करने में 5 सेकंड लग जाते हैं।
डेटा क्लीन करना तो और भी बुरा है: डेट के फॉर्मेट 3 तरह के हैं, फोन नंबर में कहीं एरिया कोड है कहीं नहीं, डुप्लीकेट लाइनें हटाओ तो फिर नए आ जाते हैं, खाली सेल भरने में समझ नहीं आता 0 भरूं या हटा दूं... एक डेटा सेट पर एक हफ्ता लग गया, तब भी कुछ कॉलम छूट गए।
CSV फाइल OpenClaw को दे, वह लोकल में Python स्क्रिप्ट चलाता है, pandas, polars - जो चाहो। 20 लाख लाइन? कुछ सेकंड में पढ़ ले।
अहम बात यह है:तुम्हारा डेटा एक बिट भी किसी सर्वर पर अपलोड नहीं होगा। कंपनी का सेल्स डेटा, यूजर की प्राइवेट जानकारी, फाइनेंशियल रिपोर्ट - बेफिक्र होकर प्रोसेस कर सकते हो, डेटा सिक्योरिटी की चिंता करने की जरूरत नहीं।
3 Prompt टेम्पलेट, सीधे कॉपी करके यूज करो
सरलीकरण से लेकर डेटा क्लीनिंग तक, जो चाहिए ले लो।
~/data/sales_2025.csv को खोलो (करीब 20 लाख लाइन), यह सब करो:
1. महीने के हिसाब से कुल सेल्स, महीने का ट्रेंड दिखा
2. सबसे ज्यादा बिकने वाले 10 प्रोडक्ट, नाम और कुल बिक्री दोनों
3. हर इलाके में कुल ऑर्डर और औसत ऑर्डर वैल्यू
4. रिजल्ट को summary.csv में सेव कर, ~/data/output/ में रख
pandas से करो, मेमोरी को भी ध्यान रख (dtype सेट कर, जरूरत पड़े तो चंक में पढ़)।
~/data/raw_customers.csv को क्लीन करो:
1. पूरी तरह डुप्लीकेट लाइनें निकाल
2. डेट का फॉर्मेट एक जैसा करो YYYY-MM-DD में (अभी 2025/01/15, 01-15-2025, 2025 जनवरी 15 - ऐसे मिक्स हैं)
3. फोन नंबर को 11 डिजिट का शुद्ध नंबर बना (एरिया कोड, स्पेस, डैश सब हटा)
4. खाली जगह भरो: नंबर के लिए मेडियन, टेक्स्ट के लिए "अनजान"
5. एक रिपोर्ट दे: कितनी लाइनें प्रोसेस हुईं, हर कॉलम में क्या किया
क्लीन डेटा को cleaned_customers.csv में सेव कर।
~/data/ फोल्डर में 5 CSV फाइलें हैं:
- users.csv (यूजर ID, नाम, रजिस्ट्रेशन का समय, इलाका)
- orders.csv (ऑर्डर ID, यूजर ID, प्रोडक्ट ID, कीमत, ऑर्डर का समय)
- products.csv (प्रोडक्ट ID, कैटेगरी, ब्रांड, कीमत)
- reviews.csv (यूजर ID, प्रोडक्ट ID, रेटिंग, रिव्यू का समय)
- returns.csv (ऑर्डर ID, रिटर्न की वजह, रिटर्न का समय)
मुझे यह करना है:
1. यूजर ID और प्रोडक्ट ID से सभी 5 को जोड़, एक बड़ी टेबल बना
2. एक-से-कई का रिश्ता संभाल (एक यूजर के कई ऑर्डर)
3. नई कॉलम जोड़: यूजर का कुल खर्च, कितनी बार खरीदा, औसत रेटिंग, रिटर्न की दर
4. merged_wide_table.csv में सेव कर
5. डेटा क्वालिटी की रिपोर्ट: कितने रिकॉर्ड मैच हुए, कितने नहीं
बड़े डेटा के लिए सेटअप सुझाव
बड़ी फाइल प्रोसेस करने से पहले ये सेटिंग्स कर लो तो और सुगम चलेगा।
# बड़े डेटा के लिए सुझाव
sandbox:
memory_limit: 8GB # बड़ी CSV को ज्यादा मेमोरी चाहिए
timeout: 600 # कॉम्प्लेक्स काम कुछ मिनट ले सकता है
allowed_paths:
- ~/data/ # डेटा को पढ़ने-लिखने के लिए रास्ता
- ~/output/ # आउटपुट का फोल्डर
python:
packages: # डेटा प्रोसेसिंग के जरूरी लाइब्रेरी
- pandas>=2.0
- polars # pandas से 10 गुना तेज विकल्प
- openpyxl # Excel को पढ़ने-लिखने के लिए
- pyarrow # parquet फॉर्मेट के लिए
model: claude-opus-4 # बड़े डेटा के लिए Opus सुझाया जाता है
CSV प्रोसेसिंग: OpenClaw बनाम ChatGPT Code Interpreter
दोनों ही Python चला सकते हैं, पर अंतर खासा है।
- लोकल में चलता है, फाइल का साइज कोई लिमिट नहीं, 10 GB की CSV भी चल जाएगी
- डेटा अपलोड नहीं होता, प्राइवेसी सुरक्षित है
- लोकल डेटाबेस को सीधे एक्सेस कर सकते हो, इंटरनल नेटवर्क भी एक्सेस हो सकता है
- प्रोसेसिंग के नतीजे सीधे लोकल में सेव होते हैं, चैट खत्म होने पर गायब नहीं होते
- कोई भी Python लाइब्रेरी इंस्टॉल कर सकते हो, कोई रोक-टोक नहीं
- फाइल अपलोड की लिमिट करीब 500MB है, बड़ा डेटा प्रोसेस नहीं कर सकते
- डेटा OpenAI के सर्वर पर जाता है, कंपनी का डेटा इस्तेमाल करने में डर लगता है
- सैंडबॉक्स की सीमाएं, कई लाइब्रेरी इंस्टॉल नहीं हो सकती
- चैट खत्म हो तो फाइलें गायब हो जाती हैं, तेजी से डाउनलोड करना पड़ता है
- नेटवर्क धीमा हो तो अपलोड में बहुत समय लगता है, अनुभव खराब होता है