CSV (Comma-Separated Values) एक सादा-पाठ सारणीबद्ध फ़ॉर्मेट है जिसमें प्रत्येक पंक्ति एक डेटा रिकॉर्ड होती है और रिकॉर्ड के भीतर फ़ील्ड एक डेलिमिटर वर्ण द्वारा अलग होते हैं, जो सामान्यतः अल्पविराम होता है। CSV व्यक्तिगत कंप्यूटिंग के आरंभिक दिनों से एक मानक आदान-प्रदान फ़ॉर्मेट रहा है, जिसे RFC 4180 में औपचारिक रूप दिया गया है। स्प्रेडशीट, डेटाबेस और डेटा निर्यात उपकरण CSV उत्पन्न करते हैं क्योंकि यह सरल, संक्षिप्त और लगभग हर प्रोग्रामिंग भाषा द्वारा पठनीय है।
JSON (JavaScript Object Notation) संरचित डेटा को key-value pairs और ऐरे के रूप में दर्शाता है। CSV के विपरीत, JSON नेस्टेड ऑब्जेक्ट, टाइप किए गए मान (संख्याएँ, बूलियन, null) और परिवर्तनीय-लंबाई के रिकॉर्डों का समर्थन करता है। चूँकि JSON को JavaScript इंजन मूल रूप से समझते हैं, यह ब्राउज़र-से-सर्वर डेटा आदान-प्रदान और REST API प्रतिक्रियाओं के लिए प्रमुख फ़ॉर्मेट है। ये गुण JSON को वेब API, कॉन्फ़िगरेशन फ़ाइलों और MongoDB तथा CouchDB जैसे NoSQL डेटाबेस के लिए डिफ़ॉल्ट फ़ॉर्मेट बनाते हैं।
CSV को JSON में बदलने का अर्थ है तालिका की प्रत्येक पंक्ति को एक JSON ऑब्जेक्ट में रूपांतरित करना — शीर्षक पंक्ति का उपयोग प्रॉपर्टी नामों के रूप में और सेल मानों का उपयोग प्रॉपर्टी मानों के रूप में। परिणाम सामान्यतः ऑब्जेक्ट का एक JSON ऐरे होता है। यह रूपांतरण तब आवश्यक होता है जब आपको समतल सारणीबद्ध डेटा किसी ऐसी प्रणाली में देना हो जो संरचित JSON इनपुट की अपेक्षा करती है — जैसे REST API, फ्रंटेंड डेटा तालिका घटक, या दस्तावेज़-उन्मुख डेटाबेस।
यह उपकरण क्यों उपयोग करें?
यह कनवर्टर आपके CSV को ब्राउज़र में ही पार्स करता है, JSON आउटपुट तुरंत तैयार करता है, और आपका डेटा कभी किसी सर्वर को नहीं भेजा जाता।
⚡
तत्काल रूपांतरण
CSV चिपकाएँ और JSON आउटपुट तुरंत प्राप्त करें। सर्वर राउंड-ट्रिप या फ़ाइल अपलोड की प्रतीक्षा नहीं। रूपांतरण टाइप करते समय ही होता है।
🔒
गोपनीयता-केंद्रित प्रोसेसिंग
आपका डेटा आपके ब्राउज़र टैब में ही रहता है। नेटवर्क पर कुछ भी नहीं भेजा जाता। आंतरिक डेटासेट, प्रमाण-पत्र या व्यक्तिगत पहचान योग्य जानकारी के लिए सुरक्षित जो आपकी मशीन नहीं छोड़नी चाहिए।
🔀
डेलिमिटर स्वतः पहचान
उपकरण अल्पविराम, टैब, सेमीकोलन और पाइप डेलिमिटरों को पहचानता है। अगर आपकी फ़ाइल कोई अलग डेलिमिटर use करती है तो आप उसे manually भी set कर सकते हैं।
📋
कॉपी या डाउनलोड
एक क्लिक से JSON परिणाम अपने क्लिपबोर्ड में कॉपी करें या इसे .json फ़ाइल के रूप में डाउनलोड करें। अपने कोड, API क्लाइंट या डेटाबेस आयात में सीधे उपयोग के लिए तैयार।
CSV से JSON उपयोग के मामले
फ्रंटेंड विकास
डिज़ाइन उपकरण या स्प्रेडशीट से CSV निर्यात को JSON में बदलें और प्रोटोटाइपिंग के दौरान React, Vue या Angular घटकों के लिए नकली डेटा के रूप में उपयोग करें।
बैकएंड API सीडिंग
CSV डेटाबेस डंप को REST या GraphQL API की सीडिंग के लिए JSON पेलोड में बदलें। कई ORM और माइग्रेशन उपकरण प्रारंभिक डेटा लोडिंग के लिए JSON फ़िक्सचर स्वीकार करते हैं।
DevOps कॉन्फ़िगरेशन
CSV इन्वेंट्री सूचियों या environment matrices को Ansible playbook, Terraform चर फ़ाइलों या CI/CD पाइपलाइन कॉन्फ़िगरेशन में उपयोग के लिए JSON में बदलें।
QA परीक्षण डेटा तैयारी
स्प्रेडशीट-आधारित परीक्षण मैट्रिक्स को JSON ऐरे में बदलें जिन्हें Jest, pytest या Playwright जैसे परीक्षण फ्रेमवर्क डेटा-चालित परीक्षण के लिए उपयोग कर सकें।
डेटा इंजीनियरिंग पाइपलाइन
SQL क्वेरी या ETL निर्यात से प्राप्त CSV आउटपुट को MongoDB, Elasticsearch या BigQuery के JSON अंतर्ग्रहण मोड जैसे दस्तावेज़ संग्रहों में लोड करने के लिए JSON में बदलें।
छात्र परियोजनाएँ और अध्ययन
नमूना CSV डेटासेट (Kaggle, सरकारी खुले डेटा पोर्टल) को वेब विकास पाठ्यक्रम, ट्यूटोरियल या व्यक्तिगत परियोजनाओं में उपयोग के लिए शीघ्रता से JSON में बदलें।
CSV डेलिमिटर संदर्भ
CSV फ़ाइलें हमेशा अल्पविराम का उपयोग नहीं करतीं। डेलिमिटर भाषा स्थान, निर्यात करने वाले अनुप्रयोग और डेटा सामग्री पर निर्भर करता है। यहाँ चार सबसे सामान्य डेलिमिटर और उनके सामान्य उपयोग के अवसर दिए गए हैं:
डेलिमिटर
मानक
एक्सटेंशन
टिप्पणियाँ
Comma (,)
RFC 4180 default
.csv
Most common; Excel default export
Tab (\t)
TSV variant
.tsv
Avoids quoting fields that contain commas
Semicolon (;)
European locale CSV
.csv
Used where comma is the decimal separator (DE, FR, BR)
Pipe (|)
Fixed-width alternative
.csv
Rare in field values, good for messy data
CSV बनाम JSON: संरचनात्मक अंतर
दोनों फ़ॉर्मेट के बीच का अंतर यही कारण है कि शीर्षक मैपिंग, प्रकार अनुमान और अनुपस्थित मान प्रबंधन के लिए रूपांतरण के दौरान स्पष्ट निर्णय आवश्यक हैं।
CSV
Flat, row-oriented फ़ॉर्मेट। प्रत्येक रिकॉर्ड में समान संख्या में फ़ील्ड होते हैं। जब तक उपभोक्ता प्रकार का अनुमान न लगाए, सभी मान स्ट्रिंग होते हैं। नेस्टिंग या मिश्रित-लंबाई रिकॉर्डों का कोई समर्थन नहीं। RFC 4180 के अनुसार शीर्षक पंक्ति वैकल्पिक है, लेकिन अर्थपूर्ण JSON रूपांतरण के लिए आवश्यक है।
JSON
Tree-structured, self-describing फ़ॉर्मेट। प्रत्येक ऑब्जेक्ट में भिन्न कुंजियाँ हो सकती हैं। मान टाइप किए गए हैं: स्ट्रिंग, संख्या, बूलियन, null, ऑब्जेक्ट या ऐरे। अनियंत्रित नेस्टिंग गहराई का समर्थन करता है। JSON विनिर्देश (ECMA-404) के अनुसार प्रॉपर्टी क्रम की गारंटी नहीं है, हालाँकि अधिकांश पार्सर सम्मिलन क्रम बनाए रखते हैं।
कोड उदाहरण
लोकप्रिय भाषाओं और CLI उपकरणों में CSV को प्रोग्रामेटिक रूप से JSON में बदलने का तरीका:
import csv, json, io
csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""
reader = csv.DictReader(io.StringIO(csv_string))
data = [row for row in reader]
print(json.dumps(data, indent=2))
# → [{"name": "Alice", "age": "30", "city": "Berlin"}, ...]
# With type coercion (age as int)
import pandas as pd
df = pd.read_csv(io.StringIO(csv_string))
print(df.to_json(orient="records", indent=2))
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
Go
package main
import (
"encoding/csv"
"encoding/json"
"fmt"
"strings"
)
func main() {
input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
r := csv.NewReader(strings.NewReader(input))
records, _ := r.ReadAll()
headers := records[0]
var result []map[string]string
for _, row := range records[1:] {
obj := make(map[string]string)
for i, h := range headers {
obj[h] = row[i]
}
result = append(result, obj)
}
out, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(out))
// → [{"age":"30","city":"Berlin","name":"Alice"}, ...]
}
CLI (jq + Miller)
# Using Miller (mlr) — handles quoting, types, and edge cases
mlr --icsv --ojson cat data.csv
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
# Using csvjson from csvkit (Python-based)
csvjson data.csv
# Using jq with @csv (reverse: JSON → CSV)
# For CSV → JSON, pipe through Miller or Python
cat data.csv | python3 -c "
import csv, json, sys
reader = csv.DictReader(sys.stdin)
json.dump(list(reader), sys.stdout, indent=2)
"
अक्सर पूछे जाने वाले प्रश्न
कनवर्टर शीर्षक पंक्ति रहित CSV फ़ाइलों को कैसे संभालता है?
यदि आपके CSV में शीर्षक पंक्ति नहीं है, तो कनवर्टर स्वतः उत्पन्न कुंजियाँ जैसे "field1", "field2" आदि का उपयोग करता है। सर्वोत्तम परिणामों के लिए रूपांतरण से पहले एक शीर्षक पंक्ति जोड़ें, या बाद में JSON आउटपुट में कुंजियाँ पुनः नाम दें।
उद्धृत फ़ील्ड जिनमें अल्पविराम या नई पंक्तियाँ हों, उनका क्या होता है?
पार्सर RFC 4180 उद्धरण नियमों का पालन करता है। दोहरे उद्धरण चिह्नों में लपेटे गए फ़ील्ड में अल्पविराम, नई पंक्तियाँ और यहाँ तक कि दोहरे उद्धरण चिह्न ("" के रूप में एस्केप किए गए) हो सकते हैं। कनवर्टर बाहरी उद्धरण चिह्न हटाता है और आंतरिक सामग्री को एकल JSON स्ट्रिंग मान के रूप में सुरक्षित रखता है।
क्या रूपांतरण संख्याओं और बूलियन जैसे डेटा प्रकार सुरक्षित रखता है?
CSV एक अटाइप्ड फ़ॉर्मेट है; सभी सेल मान स्ट्रिंग होते हैं। डेटा हानि से बचने के लिए यह कनवर्टर डिफ़ॉल्ट रूप से स्ट्रिंग मान आउटपुट करता है। यदि आपको टाइप किया आउटपुट चाहिए, तो अपने अनुप्रयोग में JSON परिणाम पार्स करें और फ़ील्ड को स्पष्ट रूप से रूपांतरित करें। Papa Parse (JavaScript) और pandas (Python) जैसी लाइब्रेरी पार्सिंग के दौरान गतिशील टाइपिंग विकल्प प्रदान करती हैं।
क्या मैं अल्पविराम के बजाय सेमीकोलन या टैब का उपयोग करके CSV बदल सकता हूँ?
हाँ। यह उपकरण अल्पविराम, टैब, सेमीकोलन और पाइप डेलिमिटरों का समर्थन करता है। ड्रॉपडाउन से सही डेलिमिटर चुनें, या स्वतः पहचान को इसे पहचानने दें। Excel के European-locale CSV निर्यात में सेमीकोलन सामान्य हैं, जहाँ अल्पविराम दशमलव विभाजक का काम करता है।
क्या CSV इनपुट के लिए कोई फ़ाइल आकार सीमा है?
चूँकि प्रसंस्करण पूरी तरह आपके ब्राउज़र में चलता है, व्यावहारिक सीमा आपके डिवाइस की उपलब्ध मेमोरी पर निर्भर करती है। आधुनिक हार्डवेयर पर 10–20 MB तक की फ़ाइलें सामान्यतः बिना किसी समस्या के बदली जा सकती हैं। बहुत बड़ी फ़ाइलों (सैकड़ों MB) के लिए Node.js में Papa Parse या Python की csv मॉड्यूल जैसे स्ट्रीमिंग पार्सर उपयोग करें, जो डेटा को पंक्ति-दर-पंक्ति संसाधित करते हैं और सब कुछ मेमोरी में लोड नहीं करते।
भिन्न संख्या के स्तंभों वाली CSV पंक्तियों को मैं कैसे संभालूँ?
असमान CSV (शीर्षक से कम या अधिक फ़ील्ड वाली पंक्तियाँ) वास्तविक निर्यात में सामान्य हैं। यह कनवर्टर अनुपस्थित फ़ील्ड को रिक्त स्ट्रिंग से भरता है और शीर्षक संख्या से अधिक फ़ील्ड को अनदेखा करता है। यदि आपका डेटा लगातार असमान है, तो स्रोत फ़ाइल में बिना एस्केप किए डेलिमिटरों या अनुपस्थित उद्धरण चिह्नों की जाँच करें।
JSON ऐरे और JSON ऑब्जेक्ट आउटपुट में क्या अंतर है?
ऑब्जेक्ट का JSON ऐरे मानक आउटपुट है: प्रत्येक CSV पंक्ति ऐरे में एक ऑब्जेक्ट बनती है, जिसमें शीर्षक नाम कुंजियाँ होती हैं। कुछ उपकरण "स्तंभ-उन्मुख" आउटपुट भी प्रदान करते हैं जहाँ प्रत्येक शीर्षक उस स्तंभ के सभी मानों के ऐरे के साथ एक कुंजी बनता है। API, डेटाबेस और फ्रंटेंड डेटा बाइंडिंग के लिए ऑब्जेक्ट के ऐरे का फ़ॉर्मेट अधिक सामान्य है।