CSV तालिका (.csv)
RFC मानकCSV (अल्पविराम से अलग किए गए मान) सारणीबद्ध डेटा के लिए व्यापक रूप से प्रचलित सादा-पाठ प्रारूप है। इसमें हर पंक्ति एक डेटा रिकॉर्ड होती है और फ़ील्ड सीमांकक वर्णों से अलग किए जाते हैं।
XLSX को CSV में कन्वर्ट करें
मुफ्त इन-ब्राउज़र XLSX से CSV कन्वर्टर। अपने डिवाइस पर तुरंत फ़ाइलें कन्वर्ट करें।
CSV ऑनलाइन कंप्रेस करें
निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं
निरीक्षण और मेटाडेटा
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके CSV फ़ाइलों की पहचान करते हैं:
बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके CSV फ़ाइलों की पहचान करते हैं:
HEX हस्ताक्षर (ऑफ़सेट 0):
कोई निश्चित हस्ताक्षर नहींASCII निरूपण: टेक्स्ट बाइट; एन्कोडिंग अलग-अलग होती है (अक्सर UTF-8)
मानकीकरण: RFC 4180 / IETF
तकनीकी विनिर्देश
| कंटेनर आर्किटेक्चर | सारणीबद्ध डेटा पंक्तियों और स्तंभों का प्रतिनिधित्व करने वाली सीमांकित सादी पाठ फ़ाइल |
| कंप्रेशन | दोहराए जाने वाले सारणीबद्ध रिकॉर्ड पर Gzip / Deflate 85%-95% संपीड़न प्राप्त करता है |
| बाइट एंडियानेस | UTF-8 टेक्स्ट स्ट्रीम (एक्सेल द्वारा उपयोग किया जाने वाला वैकल्पिक UTF-8 BOM EF BB BF) |
| कलर स्पेस | लागू नहीं |
| चैनल और संरचना | CRLF द्वारा सीमांकित पंक्ति रिकॉर्ड और अल्पविराम द्वारा सीमांकित स्तंभ |
| अधिकतम आयाम | असीमित; संपूर्ण फ़ाइल को मेमोरी में लोड किए बिना गीगाबाइट तक स्ट्रीम करने योग्य |
| पारदर्शिता | लागू नहीं |
| स्ट्रीमिंग और प्रोग्रेसिव | सभी डेटा पाइपलाइनों द्वारा समर्थित मूल पंक्ति-दर-पंक्ति स्ट्रीम प्रोसेसिंग |
तकनीकी तुलना मैट्रिक्स: CSV बनाम प्रतियोगी
| तकनीकी विशेषता | CSV (वर्तमान) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| फ़ाइल प्रकार | प्लेन टेक्स्ट फ्लैट टेबल | ज़िप की गई XML स्प्रेडशीट | बाइनरी स्तंभ-आधारित भंडारण | पदानुक्रमित पाठ |
| एकाधिक शीट | नहीं (केवल एकल फ्लैट टेबल) | हाँ (एकाधिक वर्कबुक और शीट) | पार्टीशन-आधारित स्टोरेज | नेस्टेड ऐरे और ऑब्जेक्ट |
| डेटा प्रकार | बिना प्रकार निर्दिष्ट किया हुआ कच्चा पाठ | टाइप किए गए सेल, फ़ॉर्मूले, फ़ॉर्मेटिंग | सख्त बाइनरी कॉलम प्रकार | प्रिमिटिव प्रकार (स्ट्रिंग, नंबर, बूल) |
| बिग डेटा एनालिटिक्स | धीमा (प्रत्येक पंक्ति को रेखीय रूप से पढ़ना आवश्यक है) | बिग डेटा के लिए उपयुक्त नहीं | अति-तेज (कॉलम प्रूनिंग और प्रेडिकेट पुशडाउन) | मध्यम |
सामान्य करप्शन मोड और हेक्स रिकवरी गाइड
कॉलम दाईं ओर शिफ्ट हो जाते हैं या पंक्ति की गिनती मेल नहीं खाती है।
मूल कारण: आसपास के उद्धरण चिह्नों के बिना एक अनएस्केप किए गए अल्पविराम वाला टेक्स्ट फ़ील्ड।
रिकवरी: RFC 4180 के लिए आवश्यक है कि अल्पविराम वाले फ़ील्ड दोहरे उद्धरण चिह्नों में लपेटे जाएं: "Smith, John"।
एक्सेल में स्वराघात चिह्न वाले वर्ण अजीब प्रतीकों (é के बजाय é जैसे मोजिबाके) के रूप में रेंडर होते हैं।
मूल कारण: एक्सेल ने लेगेसी Windows ANSI/CP1252 वर्ण एन्कोडिंग मानकर UTF-8 CSV खोला।
रिकवरी: फ़ाइल की शुरुआत में 3-बाइट UTF-8 बाइट ऑर्डर मार्क (0xEF 0xBB 0xBF) जोड़ें।
सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स
CSV फ़ाइलें Excel और Google Sheets जैसे स्प्रेडशीट सॉफ़्टवेयर में सीधे खुलती हैं, जिससे उपयोगकर्ता फ़ॉर्मूला इंजेक्शन (CSV इंजेक्शन) हमलों के संपर्क में आ जाते हैं।
ज्ञात अटैक वेक्टर्स
- फ़ॉर्मूला इंजेक्शन: '=', '+', '-', या '@' से शुरू होने वाली सेल स्प्रेडशीट मैक्रोज़ या DDE कमांड निष्पादित करती हैं (उदा. '=cmd|' /C calc'!A0')।
- क्लिक करने पर HYPERLINK() फ़ॉर्मूले संवेदनशील सेल डेटा दूरस्थ हमलावरों के सर्वर पर भेजकर उसकी चोरी कर सकते हैं।
सुरक्षात्मक सर्वोत्तम प्रथाएँ: उपयोगकर्ता डेटा को CSV में निर्यात करते समय, Excel में सादे पाठ रेंडरिंग को बल देने के लिए '=', '+', '-', या '@' से शुरू होने वाले किसी भी सेल में एकल उद्धरण (') या टैब जोड़ें।
ऐतिहासिक मूल और मील के पत्थर
मुख्य लाभ और खूबियाँ
- अधिकतम सादगी: किसी भी टेक्स्ट एडिटर में पठनीय और हर डेटाबेस और स्प्रेडशीट में आयात योग्य।
- पूरा इन-मेमोरी DOM बनाए बिना अत्यधिक तेज़ पंक्ति-दर-पंक्ति स्ट्रीमिंग।
- न्यूनतम अतिरिक्त बोझ: लंबे टैग सिंटैक्स या स्कीमा परिभाषाएँ नहीं।
तकनीकी सीमाएँ और कमियाँ
- कोई मानक डेटा प्रकार नहीं: संख्याएँ, तिथियाँ, बूलियन और टेक्स्ट, सभी कच्ची स्ट्रिंग के रूप में संग्रहीत होते हैं।
- कई शीट, सेल फ़ॉर्मेटिंग, फ़ॉर्मूला या मेटाडेटा के लिए कोई समर्थन नहीं।
- सीमांकक संघर्ष (पाठ के भीतर अल्पविराम, यूरोपीय लोकेल में दशमलव अल्पविराम) बार-बार पार्सिंग बग का कारण बनते हैं।
रोचक तकनीकी जानकारी
- कई यूरोपीय देशों में जहाँ अल्पविराम का उपयोग दशमलव बिंदु के रूप में किया जाता है, वहाँ CSV विभाजक के रूप में अल्पविराम के स्थान पर अर्धविराम (;) का उपयोग किया जाता है।
- गैर-ASCII उच्चारण चिह्न वाले वर्णों को सही ढंग से प्रदर्शित करने के लिए Microsoft Excel को ऐतिहासिक रूप से UTF-8 BOM (0xEF 0xBB 0xBF) की आवश्यकता होती थी।
- यूनाइटेड किंगडम की नेशनल हेल्थ सर्विस ने 2020 में प्रसिद्ध रूप से लगभग 16,000 COVID-19 संपर्क ट्रेसिंग रिकॉर्ड खो दिए क्योंकि डेटा को एक पुराने एक्सेल स्प्रेडशीट प्रारूप में आयात किया गया था, जिसकी पंक्ति सीमा 65,536 पर सीमित थी।
अक्सर पूछे जाने वाले तकनीकी प्रश्न
RFC 4180 क्या है?
RFC 4180 CSV के लिए आधिकारिक IETF मानक है। यह अनिवार्य करता है कि अल्पविराम, लाइन ब्रेक या दोहरे उद्धरण चिह्नों वाले फ़ील्ड को दोहरे उद्धरण चिह्नों में बंद किया जाना चाहिए, और आंतरिक उद्धरणों को उन्हें दो बार लिखकर ("") एस्केप किया जाना चाहिए।
Excel में CSV फ़ाइलें भ्रष्ट वर्णों के साथ क्यों खुलती हैं?
Microsoft Excel के पुराने संस्करण CSV फ़ाइलें सीधे खोलते समय UTF-8 के बजाय स्थानीय Windows कोड पेज (जैसे Windows-1252) को डिफ़ॉल्ट रूप से चुनते हैं। फ़ाइल की शुरुआत में UTF-8 BOM (बाइट ऑर्डर मार्क) जोड़ने से Excel UTF-8 को सही ढंग से डिकोड करता है।
CSV इंजेक्शन (फ़ॉर्मूला इंजेक्शन) क्या है?
CSV इंजेक्शन तब होता है जब फ़ॉर्मूला शुरू करने वाले वर्ण ('=', '+', '-', '@') युक्त अविश्वसनीय उपयोगकर्ता इनपुट को स्प्रेडशीट फ़ाइल में निर्यात किया जाता है। Excel जैसे सॉफ़्टवेयर में फ़ाइल खोलने पर स्प्रेडशीट अपने-आप फ़ॉर्मूला या डायनेमिक डेटा एक्सचेंज (DDE) कमांड चलाती है। इससे सिस्टम कमांड चल सकते हैं या डेटा चुराकर बाहर भेजा जा सकता है।
संबंधित CSV रूपांतरण जोड़े
एक्सेल शीट को CSV टेबल में बदलने से कच्चा सारणीबद्ध डेटा अधिकतम सॉफ़्टवेयर संगतता के लिए एक सार्वभौमिक पाठ प्रारूप में निकल जाता है।
साधारण पाठ-आधारित CSV फ़ाइलों को सुविधा संपन्न XLSX स्प्रेडशीट में बदलने से उन्नत डेटा स्टाइलिंग, सूत्र और कई शीट सक्षम होती हैं।
फ्लैट टेक्स्ट फाइलों को संरचित रिलेशनल डेटाबेस में बदलने से आपको तेज़ क्वेरी चलाने और जटिल डेटा संबंधों को प्रबंधित करने की अनुमति मिलती है।
सरल डेटा विश्लेषण और रिपोर्टिंग के लिए रिलेशनल डेटाबेस बैकअप स्क्रिप्ट को फ़्लैट सारणीबद्ध स्प्रेडशीट में बदलें।
पदानुक्रमित HDF5 डेटासेट को फ़्लैट Telemetry CSV फ़ाइलों में बदलने से जटिल बहु-आयामी वैज्ञानिक रिकॉर्ड स्प्रेडशीट विश्लेषण के लिए सरल पंक्तियों और स्तंभों में बदल जाते हैं।
बहु-आयामी NetCDF वैज्ञानिक ग्रिड को फ़्लैट टेलीमेट्री CSV फ़ाइलों में बदलने से जटिल जलवायु और महासागर डेटा बुनियादी स्प्रेडशीट सॉफ्टवेयर में पठनीय हो जाता है।
vCard फ़ाइलों को संपर्क CSV में बदलने से आसान डेटाबेस आयात के लिए पदानुक्रमित संपर्क कार्ड सपाट स्प्रेडशीट पंक्तियों में बदल जाते हैं।