ToolDeck

CSV থেকে Markdown

CSV কে Markdown টেবিলে রূপান্তর করুন

একটি উদাহরণ চেষ্টা করুন

CSV ইনপুট

Markdown আউটপুট

স্থানীয়ভাবে চলে · গোপন তথ্য পেস্ট করা নিরাপদ
Markdown টেবিল এখানে দেখা যাবে…

CSV থেকে Markdown রূপান্তর কী?

CSV কে Markdown টেবিলে রূপান্তর করা ডেভেলপারদের একটি সাধারণ কাজ। CSV (Comma-Separated Values) টেবুলার ডেটা সাধারণ পাঠ্য হিসেবে সংরক্ষণ করে, প্রতিটি সারি নিজের লাইনে থাকে এবং ফিল্ডগুলো কমা বা ট্যাবের মতো ডিলিমিটার দিয়ে আলাদা করা হয়। এটি স্প্রেডশিট, SQL ক্লায়েন্ট ও বিশ্লেষণ টুলের ডিফল্ট রপ্তানি ফরম্যাট। CSV ফাইল সংক্ষিপ্ত ও তৈরি করা সহজ, কিন্তু ডেটা প্রদর্শনের ক্ষেত্রে এর কোনো অন্তর্নির্মিত নিয়ন্ত্রণ নেই। টেক্সট এডিটরে খোলা CSV ফাইল কমা-বিভাজিত স্ট্রিংয়ের একটি দেয়াল — মেশিন পড়তে পারে, কিন্তু মানুষের জন্য পড়া কঠিন।

Markdown টেবিল এই পাঠযোগ্যতার সমস্যা সমাধান করে। এগুলো GitHub Flavored Markdown (GFM) স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত এবং GitHub, GitLab, Bitbucket, Notion, Obsidian ও Hugo ও Jekyll-এর মতো স্ট্যাটিক সাইট জেনারেটর সমর্থন করে — যেকোনো জায়গায় Markdown প্রক্রিয়া করা হয়, সেখানে এগুলো পরিষ্কার HTML টেবিল হিসেবে রেন্ডার হয়। সিনট্যাক্সে কলাম আলাদা করতে পাইপ অক্ষর ব্যবহার হয় এবং হেডার ও বডি সারির মধ্যে ড্যাশের একটি বাধ্যতামূলক বিভাজক সারি থাকে।

CSV কে Markdown টেবিলে রূপান্তর মানে প্রতিটি সারিকে পাইপ-বিভাজিত সিনট্যাক্সে মোড়ানো এবং হেডারের পরে বিভাজক সারি যোগ করা। CSV-এর প্রথম সারি টেবিল হেডার হয়, এবং পরবর্তী প্রতিটি সারি বডি রো হয়। README, পুল রিকোয়েস্ট বিবরণ, উইকি পেজ বা যেকোনো Markdown ডকুমেন্টেশন সিস্টেমে কাঠামোবদ্ধ ডেটা পেস্ট করার সময় এই রূপান্তর প্রয়োজন।

কেন এই টুল ব্যবহার করবেন?

এই কনভার্টার আপনার CSV ব্রাউজারেই পার্স করে, তাৎক্ষণিকভাবে Markdown টেবিল আউটপুট তৈরি করে এবং কখনো আপনার ডেটা কোনো সার্ভারে পাঠায় না।

তাৎক্ষণিক টেবিল তৈরি
CSV পেস্ট করুন এবং সঙ্গে সঙ্গে সঠিকভাবে ফরম্যাট করা Markdown টেবিল পান। আপলোড বা সার্ভার প্রক্রিয়াকরণের অপেক্ষা নেই। আপনি টাইপ করার সাথে সাথে আউটপুট আপডেট হয়।
🔒
গোপনীয়তা-সংরক্ষী প্রক্রিয়াকরণ
আপনার ডেটা আপনার ব্রাউজার ট্যাবেই থাকে। নেটওয়ার্কে কিছু পাঠানো হয় না। অভ্যন্তরীণ ডেটাসেট, credentials বা মালিকানাধীন তথ্যের জন্য নিরাপদ যা আপনার মেশিন ছেড়ে যাওয়া উচিত নয়।
📋
কপি-প্রস্তুত আউটপুট
এক ক্লিকে Markdown টেবিল ক্লিপবোর্ডে কপি করুন। সরাসরি GitHub README, ইস্যু, PR বিবরণ, Confluence পেজ বা যেকোনো Markdown এডিটরে পেস্ট করুন।
🔀
ডিলিমিটার শনাক্তকরণ
টুলটি কমা, ট্যাব, সেমিকোলন ও পাইপ ডিলিমিটার স্বয়ংক্রিয়ভাবে চিনতে পারে। বৈধ আউটপুট তৈরির জন্য আপনার CSV-কে একটি নির্দিষ্ট ফরম্যাট অনুসরণ করতে হবে না।

CSV থেকে Markdown ব্যবহারের ক্ষেত্র

README ডকুমেন্টেশন
কনফিগারেশন অপশন, API এন্ডপয়েন্ট বা পরিবেশ ভেরিয়েবলের CSV ফাইলকে প্রকল্পের README-এর জন্য Markdown টেবিলে রূপান্তর করুন। ডেটার সাথে ডকুমেন্টেশন সিঙ্ক রাখুন।
পুল রিকোয়েস্ট বিবরণ
GitHub বা GitLab-এ PR বিবরণে পরীক্ষার ফলাফল, বেঞ্চমার্ক তুলনা বা মাইগ্রেশন সারসংক্ষেপ Markdown টেবিল হিসেবে পেস্ট করুন, যাতে পর্যালোচনাকারীরা আলাদা ফাইল না খুলেও ডেটা দেখতে পারেন।
DevOps রানবুক
সার্ভার, পোর্ট বা সার্ভিস এন্ডপয়েন্টের CSV তালিকাকে Git-এ সংরক্ষিত টিম উইকি ও incident response রানবুকের জন্য Markdown টেবিলে রূপান্তর করুন।
QA পরীক্ষা রিপোর্টিং
CI পাইপলাইন থেকে CSV পরীক্ষার ফলাফল রপ্তানিকে Markdown টেবিলে পরিণত করুন, যা Jira, Confluence বা Notion টিকেটে সরাসরি রেন্ডার হয়।
ডেটা ইঞ্জিনিয়ারিং ডকুমেন্টেশন
ডেটা ক্যাটালগ থেকে CSV হিসেবে রপ্তানি করা স্কিমা সংজ্ঞা বা কলাম মেটাডেটাকে ডেটা পাইপলাইন ডকুমেন্টেশনে অন্তর্ভুক্ত করার জন্য Markdown টেবিলে রূপান্তর করুন।
শিক্ষামূলক ও শিক্ষার্থীদের কাজ
Kaggle বা সরকারি উন্মুক্ত ডেটা পোর্টাল থেকে ডেটাসেটকে গবেষণা নোট, ল্যাব রিপোর্ট বা Jupyter নোটবুক ডকুমেন্টেশনের জন্য 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
মেশিন-কেন্দ্রিক। ফিল্ডগুলো ডিলিমিটার (কমা, ট্যাব, সেমিকোলন) দিয়ে আলাদা। অ্যালাইনমেন্ট নিয়ন্ত্রণ নেই। রেন্ডারিং নেই — টেক্সট এডিটরে যা দেখা যায় তা হলো raw মান। প্রতিটি স্প্রেডশিট, ডেটাবেজ রপ্তানি টুল ও প্রোগ্রামিং ভাষায় সমর্থিত। ডেটা বিনিময় ও সংরক্ষণের জন্য সেরা।
Markdown Table
মানব-কেন্দ্রিক। কলামগুলো পাইপ অক্ষর দিয়ে আলাদা, একটি বাধ্যতামূলক ড্যাশ বিভাজক সারিসহ। প্রতিটি কলামে বাম, মাঝ ও ডান অ্যালাইনমেন্ট সমর্থিত। GitHub, GitLab, Notion ও স্ট্যাটিক সাইট জেনারেটরে HTML টেবিল হিসেবে রেন্ডার হয়। ডকুমেন্টেশন, README ও ইনলাইন ডেটা প্রদর্শনের জন্য সেরা।

কোড উদাহরণ

নিচের উদাহরণগুলো বিভিন্ন ভাষায় প্রোগ্রামগতভাবে CSV কে Markdown টেবিলে রূপান্তরের পদ্ধতি দেখায়। প্রতিটি একটি বৈধ GFM টেবিল তৈরি করে।

JavaScript (Node.js)
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 |
Python
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))
Go
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 |
}
CLI (Miller + csvtomd)
# 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

প্রায়শই জিজ্ঞাসিত প্রশ্ন

এই টুল কোন Markdown টেবিল ফরম্যাট তৈরি করে?
টুলটি GitHub Flavored Markdown (GFM) টেবিল তৈরি করে। এই ফরম্যাট কলাম বিভাজক হিসেবে পাইপ অক্ষর এবং হেডার ও বডির মধ্যে ড্যাশের সারি (---) ব্যবহার করে। GFM টেবিল GitHub, GitLab, Bitbucket, Notion, Obsidian, Hugo, Jekyll ও বেশিরভাগ Markdown রেন্ডারার সমর্থন করে।
Markdown আউটপুটে কলামের অ্যালাইনমেন্ট নিয়ন্ত্রণ করা যাবে কি?
মানক Markdown টেবিল সিনট্যাক্স বিভাজক সারিতে কোলন যোগ করে বাম, মাঝ ও ডান অ্যালাইনমেন্ট সমর্থন করে (বামের জন্য :---, মাঝের জন্য :---:, ডানের জন্য ---:)। এই টুল ডিফল্টভাবে বাম-অ্যালাইন কলাম তৈরি করে। রূপান্তরের পরে আউটপুটে বিভাজক সারি সম্পাদনা করে অ্যালাইনমেন্ট পরিবর্তন করতে পারেন।
কমাযুক্ত CSV ফিল্ড টুলটি কীভাবে পরিচালনা করে?
কোনো CSV ফিল্ডে ডিলিমিটার অক্ষর থাকলে, RFC 4180 অনুযায়ী ফিল্ডটি double quote-এ আবদ্ধ হওয়া উচিত। টুলটি পার্সিংয়ের সময় বাইরের উদ্ধৃতি সরিয়ে Markdown ঘরে সাধারণ মান আউটপুট করে। পাইপ-বিভাজিত Markdown ফরম্যাটে কমার জন্য উদ্ধৃতির প্রয়োজন নেই।
রূপান্তরে সারি বা কলামের সীমা আছে কি?
টুলে কোনো কঠোর সীমা নেই। রূপান্তর আপনার ব্রাউজারে চলে, তাই কার্যক্ষমতা আপনার ডিভাইসের উপর নির্ভর করে। আধুনিক হার্ডওয়্যারে কয়েক হাজার সারির টেবিল এক সেকেন্ডেরও কম সময়ে রূপান্তরিত হয়। অত্যন্ত বড় ফাইলের (১,০০,০০০+ সারি) জন্য Miller-এর মতো কমান্ড-লাইন টুল আরও উপযুক্ত।
CSV-এ হেডার সারি না থাকলে কী হয়?
Markdown টেবিলে হেডার সারি বাধ্যতামূলক। আপনার CSV-এ হেডার না থাকলে, টুলটি প্রথম ডেটা সারিকে হেডার হিসেবে বিবেচনা করে। পেস্ট করার আগে CSV-এ একটি হেডার সারি যোগ করতে পারেন, অথবা রূপান্তরের পরে Markdown আউটপুটের প্রথম সারি সম্পাদনা করতে পারেন।
ট্যাব-বিভাজিত (TSV) ডেটা Markdown-এ রূপান্তর করা যাবে কি?
হ্যাঁ। টুলটি ট্যাব অক্ষরকে ডিলিমিটার হিসেবে স্বয়ংক্রিয়ভাবে শনাক্ত করে। আপনার TSV ডেটা সরাসরি পেস্ট করুন, কনভার্টার কমা-বিভাজিত ইনপুটের মতোই পার্স করবে। স্বয়ংক্রিয় শনাক্তকরণ আপনার ডেটার সাথে না মিললে ডিলিমিটার ম্যানুয়ালিও নির্বাচন করতে পারেন।
Markdown টেবিল পাইপের মতো বিশেষ অক্ষর কীভাবে পরিচালনা করে?
ঘরের ভেতরে আক্ষরিক পাইপ অক্ষর টেবিলের কাঠামো ভেঙে দেবে। Markdown-এ এটি ব্যাকস্ল্যাশ দিয়ে escape করতে হয়: \|। CSV থেকে রূপান্তরের সময় টুলটি ঘরের মানে পাওয়া যেকোনো পাইপ অক্ষর স্বয়ংক্রিয়ভাবে escape করে, যাতে আউটপুট টেবিল সঠিকভাবে রেন্ডার হয়।