CSV'den HTML Tablosuna

CSV'yi HTML tablosuna dönüştür

Örnek dene

CSV Girişi

HTML Çıktısı

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
HTML tablosu burada görünecek…
İlk satır başlık:

CSV'den HTML Tablosuna Dönüşüm Nedir?

CSV'den HTML tablosuna dönüşüm, virgülle ayrılmış değerleri alır ve tarayıcıların görsel tablo olarak oluşturabileceği yapılandırılmış HTML biçimine dönüştürür. Çıktı, HTML Living Standard'da tanımlanan standart HTML tablo öğelerini kullanır: table, thead, tbody, tr, th ve td. Bu işlem her CSV satırını bir tr öğesiyle, her alanı ise bir td veya th hücresiyle eşleştirir.

CSV dosyaları, verileri satırlar yeni satırlarla ve alanlar ayırıcılarla (genellikle virgül) ayrılmış düz metin olarak saklar. CSV, Excel, Google Sheets ve veritabanları gibi uygulamalar arasında veri depolama ve aktarım için iyi çalışsa da sunum katmanı yoktur. HTML tabloları, CSS ile biçimlendirmeyi, JavaScript ile sıralamayı ve scope ile aria-label gibi nitelikler aracılığıyla erişilebilirliği destekleyen anlamsal biçimde verileri sararak bu katmanı ekler.

Dönüşüm, RFC 4180'de tanımlanan çeşitli uç durumları ele almalıdır: virgül veya yeni satır içeren tırnaklı alanlar, alanlar içindeki kaçan çift tırnaklar ve değişen ayırıcılar (noktalı virgül, sekme, dikey çizgi). Doğru bir dönüştürücü aynı zamanda hücre içeriğindeki HTML varlıklarını da kaçar; bozuk biçimlendirmeyi veya XSS açıklarını önlemek için <, >, & ve tırnak karakterlerini varlık karşılıklarıyla değiştirir.

Neden CSV'den HTML Tablosuna Dönüştürücü Kullanmalısınız?

HTML tablolarını elle oluşturmak, özellikle onlarca sütun veya yüzlerce satır içeren veri kümeleri için yorucu ve hataya açıktır. Bu dönüştürücü ayrıştırma, kaçış ve biçimlendirmeyi tek adımda halleder.

Anında tablo oluşturma
CSV yapıştırın ve düzgün thead ile tbody yapısına sahip eksiksiz bir HTML tablosu elde edin. Manuel etiket yazmaya ya da satır başına hücre saymaya gerek yok.
🔒
Gizlilik öncelikli işleme
Tüm dönüşüm, JavaScript kullanılarak tarayıcınızda gerçekleşir. CSV verileriniz hiçbir zaman sunucuya gönderilmez, kaydedilmez ve depolanmaz.
🎯
Temiz, geçerli çıktı
Oluşturulan HTML, doğru iç içe geçme ile HTML Living Standard'ı izler: table > thead/tbody > tr > th/td. Özel karakterler, oluşturma sorunlarını önlemek için varlık olarak kaçırılır.
📋
Esnek giriş biçimleri
Ayırıcı olarak virgül, noktalı virgül, sekme ve dikey çizgiyi otomatik algılar. Kaçan çift tırnaklar ve çok satırlı alanlar dahil RFC 4180 tırnaklamaları kurallarını işler.

CSV'den HTML Tablosuna Kullanım Senaryoları

Frontend geliştirme
Bir UI bileşenini prototiplemek için örnek verilerden HTML tablosu oluşturun. Çıktıyı doğrudan bir React, Vue veya Angular şablonuna kopyalayın ve CSS sınıfları uygulayın.
E-posta şablonu oluşturma
E-posta istemcileri (Outlook, Gmail) HTML tablolarını güvenilir şekilde işler ancak çoğu CSS düzen yöntemini reddeder. Bir CSV kişi listesini veya raporu, HTML e-postasına gömebileceğiniz bir tabloya dönüştürün.
Statik site içeriği
Verileriniz bir elektronik tablo dışa aktarımından geldiğinde oluşturulan HTML tablosunu bir Jekyll, Hugo veya Astro sayfasına ekleyin. Derleme zamanı eklentisine gerek yok.
QA test verisi görüntüleme
Bir test raporuna veya Confluence sayfasına eklemek için CSV test matrisini HTML tablosuna dönüştürün. İnceleyiciler, elektronik tablo uygulaması açmadan sonuçları inceleyebilir.
Veri gazeteciliği
Bir CSV veri kümesini, bir CMS makalesine biçimlendirilebilir ve gömülebilir HTML tablosuna dönüştürün. Dönüşümden sonra şeritleme, sıralama veya duyarlı sarma için CSS ekleyin.
Öğretim ve belgeler
Öğreticiler, API belgeleri veya ders materyalleri için gerçek CSV verilerinden HTML tablo örnekleri oluşturun. Öğrenciler hem kaynak biçimi hem de oluşturulan çıktıyı görür.

HTML Tablo Öğesi Referansı

İyi yapılandırılmış bir HTML tablosu, başlıkları, gövdeyi ve alt bilgiyi ayıran anlamsal öğeler kullanır. Ekran okuyucular ve arama motorları, tablo yapısını anlamak için bu öğeleri kullanır. Satırları thead, tbody ve tfoot ile gruplamak, tarayıcıların bağımsız kaydırma uygulamasına ve baskı düzenlerinde başlık satırlarını tekrarlamasına olanak tanır.

ÖğeRolNotlar
<table>Table rootWraps the entire table structure
<thead>Header groupContains header rows; browsers repeat on print page breaks
<tbody>Body groupContains data rows; enables independent scrolling with CSS
<tfoot>Footer groupSummary or totals row; renders after tbody
<tr>Table rowGroups cells horizontally
<th>Header cellBold and centered by default; supports scope attribute for accessibility
<td>Data cellStandard content cell; accepts any inline or block HTML
<caption>Table captionVisible title above the table; read by screen readers first
<colgroup>Column groupApplies width or style to entire columns without per-cell classes

CSV ile HTML Tablosu Karşılaştırması

CSV, basitlik için optimize edilmiş bir aktarım biçimiyken HTML, tarayıcılarda oluşturma, erişilebilirlik ve etkileşim için optimize edilmiş bir sunum biçimidir.

CSV
Düz metin biçimi. Veri türü yok: her değer bir dizedir. Biçimlendirme, iç içe geçme veya üst veri yok. Satırlar yeni satırla, alanlar ayırıcıyla ayrılmıştır. Dosya boyutu minimumdur. Elektronik tablolar, veritabanları ve ETL araçları tarafından evrensel olarak desteklenir. RFC 4180 ile tanımlanmıştır.
HTML Table
Anlamsal yapıya sahip biçimlendirme biçimi. Başlıkları (th) veriden (td) ayırt eder. Biçimlendirme ve erişilebilirlik için colspan, rowspan, scope ve class gibi nitelikleri destekler. Tarayıcılar tarafından CSS ve JavaScript etkileşimi için DOM'a ayrıştırılır. Herhangi bir sunucu tarafı işleme gerek kalmadan DataTables gibi kütüphanelerle sıralanabilir, filtrelenebilir veya sayfalandırılabilir.

Kod Örnekleri

Farklı dillerde CSV'yi HTML tablolarına programlı olarak dönüştürme yöntemi. Her örnek başlık satırını ayrı işler ve hücre içeriğindeki HTML varlıklarını kaçırır. Bu kod parçacıkları bir komut dosyasına, derleme ardışık düzenine veya veri dışa aktarımlarından HTML raporları üreten bir backend API uç noktasına eklenmeye hazırdır.

JavaScript (browser / Node.js)
// CSV string → HTML table with thead/tbody
const csv = `name,age,city
Alice,30,Berlin
Bob,25,Tokyo`

function csvToHtmlTable(csv) {
  const rows = csv.trim().split('\n').map(r => r.split(','))
  const [headers, ...data] = rows
  const ths = headers.map(h => `<th>${h}</th>`).join('')
  const trs = data.map(row =>
    '    <tr>' + row.map(c => `<td>${c}</td>`).join('') + '</tr>'
  ).join('\n')
  return `<table>
  <thead><tr>${ths}</tr></thead>
  <tbody>
${trs}
  </tbody>
</table>`
}

console.log(csvToHtmlTable(csv))
// → <table><thead><tr><th>name</th>...</tr></thead><tbody>...</tbody></table>
Python
import csv, io, html

csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""

reader = csv.reader(io.StringIO(csv_string))
headers = next(reader)

lines = ['<table>', '  <thead>', '    <tr>']
for h in headers:
    lines.append(f'      <th>{html.escape(h)}</th>')
lines += ['    </tr>', '  </thead>', '  <tbody>']

for row in reader:
    lines.append('    <tr>')
    for cell in row:
        lines.append(f'      <td>{html.escape(cell)}</td>')
    lines.append('    </tr>')

lines += ['  </tbody>', '</table>']
print('\n'.join(lines))
# → well-formed HTML table with escaped special characters
PHP
<?php
$csv = "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo";
$rows = array_map('str_getcsv', explode("\n", trim($csv)));
$headers = array_shift($rows);

echo "<table>\n  <thead>\n    <tr>\n";
foreach ($headers as $h) {
    echo "      <th>" . htmlspecialchars($h) . "</th>\n";
}
echo "    </tr>\n  </thead>\n  <tbody>\n";

foreach ($rows as $row) {
    echo "    <tr>\n";
    foreach ($row as $cell) {
        echo "      <td>" . htmlspecialchars($cell) . "</td>\n";
    }
    echo "    </tr>\n";
}
echo "  </tbody>\n</table>";
// → <table><thead>...<th>name</th>...</thead><tbody>...</tbody></table>
CLI (awk / csvtool)
# Using awk — quick one-liner for simple CSV (no quoted fields)
awk -F, 'NR==1{print "<table><thead><tr>";for(i=1;i<=NF;i++)print "<th>"$i"</th>";print "</tr></thead><tbody>"}
NR>1{print "<tr>";for(i=1;i<=NF;i++)print "<td>"$i"</td>";print "</tr>"}
END{print "</tbody></table>"}' data.csv

# Using Python one-liner for RFC 4180-compliant parsing
python3 -c "
import csv, sys, html
r=csv.reader(sys.stdin); h=next(r)
print('<table><thead><tr>')
print(''.join(f'<th>{html.escape(c)}</th>' for c in h))
print('</tr></thead><tbody>')
for row in r:
    print('<tr>'+''.join(f'<td>{html.escape(c)}</td>' for c in row)+'</tr>')
print('</tbody></table>')
" < data.csv

Sık Sorulan Sorular

CSV'yi HTML tablosuna nasıl dönüştürürüm?
CSV'nizi giriş paneline yapıştırın. Dönüştürücü her satırı ayrıştırır, ilk satırı thead içindeki th öğeleriyle eşleştirir ve kalan satırları tbody içindeki td öğelerine sarar. Çıktı, kopyalamaya hazır eksiksiz bir HTML tablosudur.
Oluşturulan HTML erişilebilir mi?
Çıktı, ekran okuyuculara tablo hakkında yapısal bilgi sağlayan thead ve th öğelerini kullanır. Tam WCAG 2.1 uyumluluğu için başlık hücrelerine scope nitelikleri ve tablo içeriğini açıklayan bir caption öğesi eklemeniz gerekir.
CSV'mdeki < ve & gibi özel karakterlere ne olur?
Dönüştürücü tüm HTML'ye duyarlı karakterleri kaçırır: < yerine &lt;, > yerine &gt;, & yerine &amp; ve çift tırnak yerine &quot; kullanılır. Bu, bozuk biçimlendirmeyi önler ve tabloyu bir web sayfasına gömerseniz XSS'e karşı korur.
Noktalı virgülle veya sekmeyle ayrılmış dosyayı dönüştürebilir miyim?
Evet. Araç, girdinizin ilk satırını analiz ederek ayırıcıyı otomatik algılar. Virgül, noktalı virgül, sekme ve dikey çizgiyi destekler. Dosyanızı virgülle ayrılmış biçime önceden dönüştürmenize gerek yoktur.
CSV'den HTML ve CSV'den Markdown tabloları arasındaki fark nedir?
CSV'den HTML, anlamsal öğelerle (thead, tbody, th, td) tarayıcıda oluşturulabilir biçimlendirme üretir ve CSS sınıfları aracılığıyla biçimlendirmeyi destekler. CSV'den Markdown ise GitHub README'leri ve belgelerde kullanılan dikey çizgiyle ayrılmış düz metin tabloları üretir. Biçimlendirme denetimi veya e-posta uyumluluğuna ihtiyaç duyduğunuzda HTML; belgeler ve depolar için Markdown kullanın.
Dönüştürücü tırnaklı alanlara sahip CSV dosyalarını işler mi?
Evet. Ayrıştırıcı RFC 4180 kurallarını izler: çift tırnak içine alınmış alanlar virgül, yeni satır ve gerçek çift tırnak (iki art arda çift tırnak olarak kaçırılmış) içerebilir. Tırnaklar çıktıdan kaldırılır ve alan içeriği HTML hücresinin içine yerleştirilir.
Oluşturulan HTML tablosunu CSS ile biçimlendirebilir miyim?
Çıktı, satır içi stil veya sınıf içermeyen düz HTML'dir; dolayısıyla istediğiniz CSS'i uygulayabilirsiniz. table öğesine bir sınıf ekleyin, ardından başlıklar için table th, hücreler için table td ve zebra şeritleme için table tr:nth-child(even) gibi seçiciler kullanın. Bootstrap ve Tailwind gibi çerçevelerin yerleşik tablo yardımcı sınıfları vardır.