Convertire CSV in tabella di testo allineata
Incolli un'esportazione di tre righe con nomi, ruoli e città e ottenga una tabella con ogni colonna allineata, separata da barre verticali e con una riga di trattini sotto l'intestazione. Gestisce virgolette, punti e virgola e tabulazioni. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Analizza correttamente i campi tra virgolette — virgole, punti e virgola e interruzioni di riga dentro le virgolette —, calcola la larghezza di ogni colonna, riempie ogni cella affinché le colonne risultino allineate e traccia una linea separatrice sotto l'intestazione. Quando una riga ha un numero di campi diverso dall'intestazione, la chiamata fallisce con un errore chiaro invece di produrre una tabella storta, a meno che Lei non attivi l'opzione lenient per riempire le righe corte con celle vuote.
Perché convertire un CSV in una tabella a larghezza fissa
Il CSV è il formato in cui viaggiano i dati, ma è un formato pessimo da leggere. Una colonna con valori lunghi spinge il campo successivo molto a destra in una riga e non in un'altra, e l'occhio perde l'allineamento dopo due righe. I fogli di calcolo risolvono il problema nascondendo del tutto il testo, che è esattamente ciò che Lei non vuole quando la destinazione è un log di terminale, un commento di pull request, un'e-mail in testo semplice o documentazione in Markdown.
Un convertitore da csv a tabella di testo mantiene i dati come testo — copiabile, confrontabile con diff, ricercabile con grep — restituendo l'unica cosa che il foglio di calcolo offriva: colonne allineate. Incolli l'esportazione e ottenga un blocco in cui ogni campo occupa la stessa posizione in tutte le righe, con una riga di trattini sotto l'intestazione.
Essendo testo semplice, il risultato sopravvive a qualsiasi incollaggio in qualsiasi strumento, chat o revisione di codice senza perdere la formattazione, e si legge allo stesso modo sullo schermo di un telefono e su un monitor panoramico.
Come funzionano l'analisi e l'allineamento
L'analizzatore segue le convenzioni dell'RFC 4180: un campo tra virgolette doppie può contenere il delimitatore, interruzioni di riga e virgolette letterali scritte come due virgolette doppie, e le righe vuote vengono ignorate. Questo conta nella pratica perché le esportazioni reali mettono tra virgolette i campi proprio quando contengono qualcosa di interessante: un indirizzo con una virgola, una nota con un punto e virgola, un messaggio con un'interruzione di riga. Dopo l'analisi, il motore di rendering verifica che ogni riga abbia lo stesso numero di campi della prima.
Se non è così, la chiamata fallisce con un errore che indica la riga ed entrambi i conteggi: una riga a cui manca una virgola finale produce una tabella visibilmente spostata, e una tabella spostata è peggio di nessuna tabella. Se preferisce vedere comunque i dati, attivi lenient e le righe corte verranno riempite con celle vuote fino alla larghezza della riga più lunga.
La larghezza di ogni colonna viene quindi calcolata come la cella più lunga, ogni cella viene riempita fino a quella larghezza e le colonne vengono unite con una barra verticale. Quando la prima riga è un'intestazione, sotto di essa viene tracciata una riga di trattini. Tutto è deterministico: lo stesso input produce sempre un output identico, byte per byte.
Delimitatori, intestazioni e uso quotidiano
Non tutti i CSV usano la virgola. Le esportazioni europee usano spesso il punto e virgola, e molti dump di database usano la tabulazione o la barra verticale. Passi il carattere nel campo delimiter e tutto il resto funziona allo stesso modo: campi tra virgolette, rilevamento degli errori e riempimento tollerante.
Se i Suoi dati non hanno una riga di intestazione, imposti header su false e la prima riga verrà renderizzata come dato, senza linea separatrice. La capacità viene eseguita all'edge senza memorizzare nulla: il testo viene analizzato, renderizzato ed eliminato. Gli utenti tipici sono script di rilascio che stampano una tabella riepilogativa nei log di CI, bot che rispondono con una tabella leggibile in chat e generatori di documentazione che incorporano dati di esempio allineati.
Sono accettati input fino a 1 MB e 50.000 righe, il che copre ampiamente qualsiasi esportazione che una persona incollerebbe e la maggior parte di quelle generate dalle macchine.
Casi d'uso
Tabelle leggibili nei log di CI
Stampi i riepiloghi di build o migrazione come tabelle allineate nei log in testo semplice, invece di righe separate da virgole che nessuno legge.
Incollare dati in chat e ticket
Formatti un'esportazione CSV una volta e la incolli in Slack, in un ticket o in un'e-mail, dove rimane allineata e leggibile.
Incorporare dati di esempio nella documentazione
Renderizzi set di dati di esempio come blocchi a larghezza fissa nei README e nella documentazione senza mantenere il riempimento a mano.
Domande frequenti
Quanto costa?
L'esecuzione è gratuita anche nel Suo browser su questa pagina.
Il mio CSV viene memorizzato?
No. Il testo viene analizzato, renderizzato ed eliminato; viene restituita solo la tabella.
Cosa succede quando una riga ha un numero errato di colonne?
Attivi lenient per riempire le righe corte con celle vuote.
I campi tra virgolette con virgole all'interno sono supportati?
Sì. L'analizzatore segue l'RFC 4180: i campi tra virgolette possono contenere il delimitatore, interruzioni di riga e virgolette con escape scritte come due virgolette doppie.
Posso usare un punto e virgola o una tabulazione invece della virgola?
Sì. Passi qualsiasi carattere singolo nel campo delimiter; il valore predefinito è la virgola.
E se i miei dati non hanno una riga di intestazione?
Imposti header su false e la prima riga verrà renderizzata come dato, senza tracciare alcuna linea separatrice.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/text/csv-to-table \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"name,role,city\nAda Lovelace,Engineer,London\nGrace Hopper,Admiral,New York\nAlan Turing,Mathematician,London"}'const res = await fetch("https://api.kit.forhosting.com/text/csv-to-table", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "name,role,city\nAda Lovelace,Engineer,London\nGrace Hopper,Admiral,New York\nAlan Turing,Mathematician,London"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/csv-to-table",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "name,role,city\nAda Lovelace,Engineer,London\nGrace Hopper,Admiral,New York\nAlan Turing,Mathematician,London"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/csv-to-table", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"name,role,city\\nAda Lovelace,Engineer,London\\nGrace Hopper,Admiral,New York\\nAlan Turing,Mathematician,London"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"name,role,city\nAda Lovelace,Engineer,London\nGrace Hopper,Admiral,New York\nAlan Turing,Mathematician,London"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/csv-to-table", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"csv": "name,role,city\nAda Lovelace,Engineer,London\nGrace Hopper,Admiral,New York\nAlan Turing,Mathematician,London"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.csv_to_table",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 1 |
max_rows | 50000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'API da CSV a tabella di testo prende un testo CSV grezzo e lo trasforma in una tabella a spaziatura fissa perfettamente allineata, pronta da incollare in un terminale, un README, un messaggio di commit o una chat.
Delimitatori, intestazioni e uso quotidiano
Lo stesso codice viene eseguito gratuitamente anche nel Suo browser su questa pagina, quindi può formattare un'esportazione incollata senza account e paga solo $0.002 per chiamata quando la automatizza tramite l'API.
Domande tecniche
Quanto può essere grande l'input?
Fino a 1 MB e 50.000 righe per richiesta, il che copre qualsiasi esportazione destinata a essere letta da una persona.