CSV إلى Markdown

تحويل CSV إلى جدول Markdown

جرب مثالاً

مدخلات CSV

مخرجات Markdown

يعمل محليًا · آمن للصق الأسرار
سيظهر جدول Markdown هنا…

ما هو تحويل CSV إلى Markdown؟

تحويل CSV إلى جدول Markdown مهمة شائعة للمطورين. يخزّن CSV (القيم المفصولة بفواصل) البيانات الجدولية كنص عادي، حيث يُوضع كل صف في سطر منفصل وتُفصل الحقول بمحدد مثل الفاصلة أو علامة الجدولة. وهو صيغة التصدير الافتراضية لجداول البيانات وعملاء SQL وأدوات التحليل. ملفات CSV موجزة وسهلة التوليد، لكنها لا توفر أي طريقة مدمجة للتحكم في طريقة عرض البيانات. ملف CSV مفتوح في محرر نصوص يبدو كسلسلة متراصة من القيم المفصولة بفواصل، قابلة للقراءة آلياً لكن يصعب على الإنسان تفحصها.

تحل جداول Markdown هذه المشكلة في قابلية القراءة. وهي محددة وفق مواصفة GitHub Flavored Markdown (GFM) ومدعومة من GitHub وGitLab وBitbucket وNotion وObsidian ومولدات المواقع الثابتة مثل Hugo وJekyll — في أي مكان تُعالَج فيه Markdown تُصيَّر كجداول HTML نظيفة. تستخدم الصيغة الأنابيب (pipe) لفصل الأعمدة وصف فاصل إلزامي من شرطات بين صف الرأس وصفوف البيانات.

تحويل CSV إلى جدول Markdown يعني تغليف كل صف بصيغة مفصولة بأنابيب وإدراج صف الفاصل بعد الرأس. يصبح الصف الأول من CSV رأس الجدول، وكل صف لاحق يصبح صف بيانات. تحتاج إلى ذلك كلما لصقت بيانات منظمة في README أو وصف طلب سحب أو صفحة wiki أو أي نظام توثيق يعتمد Markdown.

لماذا تستخدم هذه الأداة؟

يحلل هذا المحوّل ملف CSV الخاص بك في المتصفح ويبني مخرجات جدول Markdown فوراً دون إرسال بياناتك إلى أي خادم.

توليد فوري للجداول
الصق ملف CSV واحصل على جدول Markdown منسق بشكل صحيح فوراً. لا انتظار للرفع أو معالجة الخادم. تتجدد المخرجات لحظياً أثناء الكتابة.
🔒
معالجة تصون خصوصيتك
تبقى بياناتك داخل تبويب المتصفح. لا شيء يُرسل عبر الشبكة. آمن لمجموعات البيانات الداخلية وبيانات الاعتماد أو المعلومات الخاصة التي لا ينبغي أن تغادر جهازك.
📋
مخرجات جاهزة للنسخ
انسخ جدول Markdown إلى الحافظة بنقرة واحدة. الصقه مباشرة في GitHub README أو issue أو وصف PR أو صفحة Confluence أو أي محرر Markdown.
🔀
اكتشاف المحدد
تتعرف الأداة تلقائياً على محددات الفاصلة وعلامة الجدولة والفاصلة المنقوطة والأنبوب. لا يلزم أن يتبع ملف CSV صيغة موحدة لإنتاج مخرجات صالحة.

حالات استخدام CSV إلى Markdown

توثيق README
حوّل ملف CSV يحتوي على خيارات الإعداد أو نقاط نهاية API أو متغيرات البيئة إلى جدول Markdown لملف README الخاص بمشروعك. يبقي التوثيق متزامناً مع تصدير البيانات.
أوصاف طلبات السحب
الصق نتائج الاختبارات أو مقارنات الأداء أو ملخصات الترحيل كجداول Markdown في أوصاف PR على GitHub أو GitLab حتى يتمكن المراجعون من تفحص البيانات دون فتح ملف منفصل.
دفاتر تشغيل DevOps
حوّل قوائم جرد CSV للخوادم أو المنافذ أو نقاط نهاية الخدمات إلى جداول Markdown لأدلة الفريق ودفاتر الاستجابة للحوادث المخزنة في Git.
تقارير اختبار ضمان الجودة
حوّل تصدير نتائج اختبارات CSV من خطوط أنابيب CI إلى جداول Markdown تُصيَّر مباشرة في تذاكر Jira أو Confluence أو Notion لمراجعة أصحاب المصلحة.
وثائق هندسة البيانات
حوّل تعريفات المخطط أو بيانات وصف الأعمدة المصدَّرة كـ CSV من كتالوج البيانات إلى جداول Markdown لإدراجها في وثائق خط أنابيب البيانات.
العمل الأكاديمي والطلابي
حوّل مجموعات البيانات من Kaggle أو بوابات البيانات المفتوحة الحكومية إلى جداول Markdown للملاحظات البحثية وتقارير المختبر أو توثيق دفاتر Jupyter.

مرجع صيغة جداول 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 Table
موجه للإنسان. تُفصل الأعمدة بأحرف أنبوب مع صف فاصل إلزامي من شرطات. يدعم المحاذاة اليسرى والوسطى واليمنى لكل عمود. يُصيَّر كجدول HTML على GitHub وGitLab وNotion ومولدات المواقع الثابتة. الأنسب للتوثيق وملفات 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. تزيل الأداة علامات الاقتباس المحيطة أثناء التحليل وتخرج القيمة العادية داخل خلية Markdown. لا تتطلب صيغة Markdown المفصولة بأنابيب وضع الفواصل بين علامات اقتباس.
هل هناك حد لعدد الصفوف أو الأعمدة عند التحويل؟
لا يوجد حد صارم تفرضه الأداة. يعمل التحويل في متصفحك، لذا يعتمد الأداء على جهازك. تتحول الجداول ذات الآلاف من الصفوف في أقل من ثانية على الأجهزة الحديثة. للملفات الكبيرة جداً (أكثر من 100,000 صف)، أداة سطر الأوامر مثل Miller أكثر ملاءمة.
ماذا يحدث إذا لم يكن لملف CSV صف رأس؟
تتطلب جداول Markdown صف رأس. إذا لم يكن لملف CSV رؤوس، تعامل الأداة الصف الأول من البيانات كرأس. يمكنك إضافة صف رأس إلى ملف CSV قبل اللصق، أو تحرير الصف الأول من مخرجات Markdown بعد التحويل.
هل يمكنني تحويل بيانات مفصولة بعلامة جدولة (TSV) إلى Markdown؟
نعم. تكتشف الأداة تلقائياً أحرف الجدولة كمحددات. الصق بيانات TSV مباشرة وسيحللها المحوّل بنفس الطريقة التي يعالج بها المدخلات المفصولة بفواصل. يمكنك أيضاً تحديد المحدد يدوياً إذا لم يتطابق الاكتشاف التلقائي مع بياناتك.
كيف تتعامل جداول Markdown مع الأحرف الخاصة مثل الأنبوب؟
حرف الأنبوب الحرفي داخل خلية سيكسر بنية الجدول. في Markdown، يُهرَّب بشرطة مائلة عكسية: \|. عند التحويل من CSV، تهرّب الأداة تلقائياً أي أحرف أنبوب موجودة في قيم الخلايا حتى تُصيَّر جدول المخرجات بشكل صحيح.