CSV to Markdown
CSV को Markdown टेबल में बदलें
CSV इनपुट
Markdown आउटपुट
CSV से Markdown रूपांतरण क्या है?
CSV को Markdown टेबल में बदलना डेवलपर्स का एक सामान्य कार्य है। CSV (Comma-Separated Values) सारणीबद्ध डेटा को plain text के रूप में संग्रहीत करता है — प्रत्येक पंक्ति अपनी अलग लाइन पर होती है और फ़ील्ड को अल्पविराम या टैब जैसे सीमांकक वर्ण से अलग किया जाता है। यह स्प्रेडशीट, SQL क्लाइंट और विश्लेषण उपकरणों का डिफ़ॉल्ट निर्यात फ़ॉर्मेट है। CSV फ़ाइलें संक्षिप्त होती हैं और उत्पन्न करना सरल है, लेकिन इनमें डेटा प्रदर्शन नियंत्रित करने की कोई अंतर्निर्मित व्यवस्था नहीं है। टेक्स्ट एडिटर में खोली गई CSV फ़ाइल अल्पविराम-पृथक स्ट्रिंग की एक दीवार होती है — मशीनों के लिए पठनीय, लेकिन इंसानों के लिए समझना कठिन।
Markdown टेबल इस पठनीयता की समस्या का समाधान करती हैं। इन्हें GitHub Flavored Markdown (GFM) विनिर्देश द्वारा परिभाषित किया गया है और GitHub, GitLab, Bitbucket, Notion, Obsidian तथा Hugo और Jekyll जैसे static site generators द्वारा समर्थित हैं — जहाँ भी Markdown संसाधित होता है, वहाँ ये स्वच्छ HTML टेबल के रूप में प्रस्तुत होती हैं। इस सिंटैक्स में स्तंभों को अलग करने के लिए पाइप वर्ण का उपयोग होता है और शीर्षक एवं मुख्य पंक्तियों के बीच एक अनिवार्य विभाजक पंक्ति डैश से बनी होती है।
CSV को Markdown टेबल में बदलने का अर्थ है प्रत्येक पंक्ति को पाइप-सीमांकित सिंटैक्स में लपेटना और शीर्षक के बाद विभाजक पंक्ति डालना। CSV की पहली पंक्ति टेबल शीर्षक बनती है और प्रत्येक अगली पंक्ति मुख्य पंक्ति बनती है। आपको यह तब आवश्यक होता है जब आप किसी README, pull request विवरण, विकी पृष्ठ, या किसी भी Markdown दस्तावेज़ीकरण प्रणाली में संरचित डेटा चिपकाते हैं।
इस टूल का उपयोग क्यों करें?
यह कनवर्टर आपके CSV को ब्राउज़र में पार्स करता है, Markdown टेबल आउटपुट तुरंत तैयार करता है, और आपका डेटा कभी किसी सर्वर को नहीं भेजता।
CSV से Markdown के उपयोग के मामले
Markdown टेबल सिंटैक्स संदर्भ
Markdown टेबल GitHub Flavored Markdown (GFM) विनिर्देश का पालन करती हैं। प्रत्येक टेबल में एक शीर्षक पंक्ति, एक विभाजक पंक्ति और एक या अधिक मुख्य पंक्तियाँ अनिवार्य हैं। विभाजक पंक्ति स्तंभ अलाइनमेंट नियंत्रित करती है।
| तत्व | सिंटैक्स | विवरण |
|---|---|---|
| Column separator | | | Separates each cell within a row |
| Header row | | Name | Age | | First row of the table, defines column names |
| Separator row | | --- | --- | | Required second row; separates header from body |
| Left align | | :--- | | Default alignment — colon on the left side |
| Center align | | :---: | | Colons on both sides of the dashes |
| Right align | | ---: | | Colon on the right side only |
| Escaped pipe | \| | Use backslash to include a literal pipe in cell text |
CSV बनाम Markdown टेबल
दोनों फ़ॉर्मेट सारणीबद्ध डेटा को सादे पाठ के रूप में प्रस्तुत करते हैं। CSV मशीनों और डेटा पाइपलाइन के लिए है; Markdown टेबल दस्तावेज़ीकरण पढ़ने वाले मनुष्यों के लिए।
कोड उदाहरण
निम्नलिखित उदाहरण दिखाते हैं कि विभिन्न भाषाओं में CSV को Markdown टेबल में प्रोग्रामेटिक रूप से कैसे बदलें। प्रत्येक उदाहरण एक वैध GFM टेबल उत्पन्न करता है।
const csv = `name,age,city
Alice,30,Berlin
Bob,25,Tokyo`
const [headerLine, ...rows] = csv.trim().split('\n')
const headers = headerLine.split(',')
const separator = '| ' + headers.map(() => '---').join(' | ') + ' |'
const headerRow = '| ' + headers.join(' | ') + ' |'
const bodyRows = rows.map(row =>
'| ' + row.split(',').join(' | ') + ' |'
)
const markdown = [headerRow, separator, ...bodyRows].join('\n')
// → | name | age | city |
// → | --- | --- | --- |
// → | Alice | 30 | Berlin |
// → | Bob | 25 | Tokyo |import csv
import io
csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""
reader = csv.reader(io.StringIO(csv_string))
rows = list(reader)
headers = rows[0]
lines = []
lines.append('| ' + ' | '.join(headers) + ' |')
lines.append('| ' + ' | '.join('---' for _ in headers) + ' |')
for row in rows[1:]:
lines.append('| ' + ' | '.join(row) + ' |')
print('\n'.join(lines))
# → | name | age | city |
# → | --- | --- | --- |
# → | Alice | 30 | Berlin |
# → | Bob | 25 | Tokyo |
# With pandas (one-liner)
import pandas as pd
df = pd.read_csv(io.StringIO(csv_string))
print(df.to_markdown(index=False))package main
import (
"encoding/csv"
"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 lines []string
lines = append(lines, "| "+strings.Join(headers, " | ")+" |")
sep := make([]string, len(headers))
for i := range sep {
sep[i] = "---"
}
lines = append(lines, "| "+strings.Join(sep, " | ")+" |")
for _, row := range records[1:] {
lines = append(lines, "| "+strings.Join(row, " | ")+" |")
}
fmt.Println(strings.Join(lines, "\n"))
// → | name | age | city |
// → | --- | --- | --- |
// → | Alice | 30 | Berlin |
// → | Bob | 25 | Tokyo |
}# Using Miller (mlr) — convert CSV to Markdown table mlr --icsv --omarkdown cat data.csv # → | name | age | city | # → | --- | --- | --- | # → | Alice | 30 | Berlin | # Using csvtomd (pip install csvtomd) csvtomd data.csv # Using pandas in a one-liner python3 -c " import pandas as pd, sys print(pd.read_csv(sys.argv[1]).to_markdown(index=False)) " data.csv