सीधे कंटेंट पर जाएं

CSV फ़ाइल खोलें

देखें कि फ़ाइल में असल में क्या है। आगे के शून्य बचे रहते हैं, तारीख़ें गढ़ी नहीं जातीं, और डिलिमिटर व एन्कोडिंग अपने-आप पता कर ली जाती है। कुछ भी स्टोर नहीं किया जाता।

  • कभी स्टोर नहीं होती
  • न कतार, न इंतज़ार
  • साइनअप नहीं, वॉटरमार्क नहीं

यह कैसे काम करता है

1

फ़ाइल यहां छोड़ें

CSV, TSV, या सेमीकोलन या पाइप से अलग की गई कोई भी फ़ाइल — सेपरेटर अपने-आप पहचाना जाता है।

2

इसे टेबल के रूप में पढ़ें

सॉर्ट और सर्च होने वाली, पंक्ति और कॉलम नंबर के साथ। हर वैल्यू ठीक वैसी दिखती है जैसी सेव है।

3

जो चाहिए, वह ढूंढें

पंक्तियां फ़िल्टर करें, किसी कॉलम पर सीधे जाएं, और देखें कि कौन-से सेल ख़ाली या बेतरतीब हैं।

Excel को छूने दिए बिना CSV पढ़ना

CSV को Excel की बजाय यहां देखने की वजह यह है कि Excel उसे खोलते समय ही बदल देता है। पिनकोड या अकाउंट नंबर के आगे का शून्य हटा दिया जाता है, क्योंकि कॉलम नंबर जैसा दिखता है। पंद्रह अंकों से लंबा आइडेंटिफ़ायर राउंड हो जाता है। जो कुछ भी तारीख़ जैसा दिखे, उसे स्थानीय तरीक़े में बदल दिया जाता है, इसलिए 03/05 का मतलब देश के हिसाब से बदल जाता है। और SEPT1 जैसा जीन का नाम तारीख़ बन जाता है — यह समस्या इतनी पुरानी है कि वैज्ञानिकों ने जीन के नाम ही बदल दिए। यहां ऐसा कुछ नहीं होता: हर वैल्यू ठीक वैसी दिखाई जाती है जैसी फ़ाइल की बाइट कहती हैं।

CSV का कोई पक्का स्टैंडर्ड नहीं है, इसलिए पहला काम यह पता करना है कि फ़ाइल है किस तरह की। डिलिमिटर कॉमा, सेमीकोलन या टैब हो सकता है — यूरोप के कई देश सेमीकोलन से एक्सपोर्ट करते हैं, क्योंकि वहां कॉमा दशमलव का निशान है — और एन्कोडिंग UTF-8 या कोई पुराना code page हो सकती है, जिसका ग़लत अंदाज़ा लगाने पर एक्सेंट वाले नाम अजीब चिह्नों में बदल जाते हैं। दोनों पहले से मानी नहीं जातीं, पहचानी जाती हैं, जिससे लगभग हर असली एक्सपोर्ट संभल जाता है, और पहचान ग़लत होने पर दोनों को बदला जा सकता है, ताकि आप अटके न रहें।

कोटिंग वह जगह है जहां सीधे-सादे व्यूअर फ़ेल होते हैं। कोटेशन में बंद फ़ील्ड में नियम से कॉमा, लाइन ब्रेक और दोहरे कोटेशन मार्क हो सकते हैं, इसलिए डाक पते वाली पंक्ति फ़ाइल में कई लाइनों में फैली होती है, फिर भी वह एक ही रिकॉर्ड रहती है। जो कुछ भी सिर्फ़ कॉमा पर बांटता है, वह ठीक इन्हीं पंक्तियों को बिगाड़ देता है — इसीलिए कोई फ़ाइल टेक्स्ट एडिटर में ठीक और व्यूअर में ग़लत दिखती है, या इसका उल्टा।

बेतरतीब फ़ाइल — यानी जिसकी पंक्तियों में हेडर से ज़्यादा या कम फ़ील्ड हों — जैसी है वैसी दिखाई जाती है, उसे चुपचाप भरा या काटा नहीं जाता, क्योंकि ग़लत संख्या में फ़ील्ड वाली पंक्ति आम तौर पर ऊपर कहीं कोटिंग की समस्या का लक्षण होती है, और उसे छिपाना बग को छिपाना है। पूरी फ़ाइल पेज के अंदर ही पार्स होती है, इसलिए मेमोरी का इस्तेमाल उसके साइज़ के अनुपात में होता है।

जब आपको कुछ और चाहिए

कमांड लाइन पर csvkit ठीक इसी काम के लिए बना है: csvlook एक सीधी-सधी टेबल दिखाता है, csvstat हर कॉलम का सार देता है, और csvclean बेतरतीब पंक्तियों की रिपोर्ट करके उन्हें ठीक करता है। Miller — mlr --icsv --opprint cat data.csv — यही काम तेज़ी से करता है और मेमोरी से बड़ी फ़ाइलें भी संभालता है। इंटरैक्टिव तरीक़े से खंगालने के लिए VisiData जानने लायक है: यह कई गीगाबाइट की फ़ाइल टर्मिनल में तुरंत खोल देता है, सॉर्टिंग, फ़िल्टरिंग और गिनती के साथ।

अगर CSV को Excel में खोलना ही है, तो उस पर डबल-क्लिक करने की बजाय Data → From Text/CSV इस्तेमाल करें। इम्पोर्ट वाले डायलॉग में आप कुछ भी पार्स होने से पहले हर कॉलम का टाइप तय कर सकते हैं, और ऊपर बताए बदलावों को रोकने का यही एक भरोसेमंद तरीक़ा है। डबल-क्लिक करने से Excel को अंदाज़ा लगाने की छूट मिल जाती है, और वह पूरे आत्मविश्वास से अंदाज़ा लगाता है।

अक्सर पूछे जाने वाले सवाल

क्या मेरी फ़ाइल कहीं स्टोर होती है?

नहीं। कुछ भी स्टोर नहीं किया जाता, कुछ भी रखा नहीं जाता, और पेज लोड होने के बाद यह Wi-Fi बंद होने पर भी काम करता है। CSV आम तौर पर ग्राहकों की सूची, कोई एक्सपोर्ट या फ़ाइनेंस रिपोर्ट होती है — ठीक वैसी फ़ाइल जो किसी अनजान सर्वर को नहीं दी जानी चाहिए।

Excel मेरी CSV क्यों बिगाड़ देता है?

क्योंकि Excel खोलते समय ही, बिना पूछे, बदलाव कर देता है। 00123 जैसा प्रोडक्ट कोड नंबर 123 बन जाता है और शून्य हमेशा के लिए चले जाते हैं। 5-3 जैसा पार्ट नंबर 5 मार्च बन जाता है। लंबा ऑर्डर नंबर 1.23457E+14 बन जाता है। सेमीकोलन से अलग की गई जर्मन CSV पूरी की पूरी कॉलम A में आ जाती है। यह सब आपकी फ़ाइल में नहीं है — यह Excel ने खोलते समय किया। यह व्यूअर हर वैल्यू को टेक्स्ट के रूप में, ठीक वैसे ही दिखाता है जैसी सेव है, ताकि आप देख सकें कि आपको असल में क्या मिला।

कौन-से सेपरेटर और एन्कोडिंग चलती हैं?

कॉमा, सेमीकोलन, टैब और पाइप — जिन्हें फ़ाइल को देखकर पहचाना जाता है, उसके एक्सटेंशन से नहीं। किसी जर्मन सिस्टम से एक्सपोर्ट हुई “CSV” आम तौर पर सेमीकोलन से अलग होती है। एन्कोडिंग भी पहचानी जाती है: byte-order mark के साथ या बिना UTF-8, UTF-16, और पुराने सिस्टम से बनी Windows-1252/Latin-1 फ़ाइलें। एन्कोडिंग ग़लत हो तो “é” की जगह “é” दिखता है, और पेज आपको उसे बदलने देता है।

क्या यह कोटेशन में बंद उन फ़ील्ड को संभालता है जिनमें कॉमा हों?

हां — ठीक से, RFC 4180 के मुताबिक़। कोटेशन में बंद फ़ील्ड में कॉमा, लाइन ब्रेक और escaped कोटेशन हो सकते हैं, और तीनों संभाले जाते हैं। कोटेशन का ध्यान रखे बिना कॉमा पर बांटना CSV का सबसे पुराना बग है, और यह गड़बड़ फ़ील्ड के बाद के हर कॉलम को चुपचाप खिसका देता है।

यह कितनी बड़ी फ़ाइल खोल सकता है?

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

क्या मैं इसे एडिट या कन्वर्ट कर सकता हूं?

यह पेज पढ़ने के लिए है। कन्वर्ट करने के लिए हमारे [CSV को Excel में बदलें](csv-to-excel) और [CSV को JSON में बदलें](csv-to-json) टूल ठीक यही करते हैं, और वे आगे के शून्य को टेक्स्ट के रूप में बचाए रखते हैं, स्प्रेडशीट को उन्हें निगलने नहीं देते।

ध्यान दें: पूरी फ़ाइल पेज के अंदर ही पार्स होती है, इसलिए बहुत बड़ा एक्सपोर्ट अपने साइज़ के अनुपात में मेमोरी लेगा। डिलिमिटर, कोटिंग और एन्कोडिंग पहले से मानी नहीं जातीं, पहचानी जाती हैं — इससे लगभग हर असली एक्सपोर्ट संभल जाता है। अगर पहचान ग़लत हो, तो आप उसे ख़ुद बदल सकते हैं, अटकते नहीं।

यह टूल अपनी वेबसाइट पर लगाएं

किसी भी ब्लॉग, क्लास पेज या हेल्प आर्टिकल के लिए मुफ़्त। एक स्निपेट पेस्ट करें और आपके विज़िटर इसे सीधे आपके पेज पर इस्तेमाल कर सकेंगे।