Wat is het TSV-bestandsformaat?
.tsv-bestanden hebben een ongecompliceerde structuur, omdat ze gebaseerd zijn op platte tekst. Ze worden gebruikt om gegevens op te slaan die in tabelvorm zijn gerangschikt - bijvoorbeeld records uit een database of een spreadsheet. Binnen een .tsv-bestand wordt elke kolom met gegevens van de volgende gescheiden door een horizontaal tab-teken (0x09). Elke regel van een .tsv-bestand vertegenwoordigt één rij van de tabel.
.tsv-bestanden kunnen worden geïmporteerd, verwerkt en geëxporteerd met de meeste spreadsheet-applicaties, waaronder Microsoft Excel, LibreOffice Calc en Google Sheets. De ruwe gegevens kunnen ook in elke tekstverwerker worden geopend, aangezien er geen speciale software vereist is om het formaat te lezen. .tsv wordt veelvuldig gebruikt om tabelgegevens van het ene programma naar het andere over te dragen - bijvoorbeeld van een spreadsheet naar een database-applicatie - en is een standaard uitwisselingsformaat in bio-informatica-pipelines.
.tsv-bestanden zijn een gevestigd alternatief voor de populaire .csv-bestanden. De twee formaten verschillen in het scheidingsteken dat wordt gebruikt om kolommen te scheiden: in een .csv-bestand worden kolommen gescheiden door een komma. Komma's komen echter vaak voor in tekstvelden, wat parsing-fouten kan veroorzaken wanneer het bestand door het doelprogramma wordt geïnterpreteerd. Tab-tekens worden zelden gebruikt binnen tekstvelden, waardoor een .tsv-bestand minder gevoelig is voor verkeerde interpretatie en doorgaans niet vereist dat velden tussen aanhalingstekens staan. Bestanden met een identieke structuur worden soms opgeslagen met de extensie .tab.
Het MIME-type voor .tsv is text/tab-separated-values, geregistreerd bij IANA in 1993. .tsv heeft geen binaire magic number; parsers herkennen het formaat aan de door tabs gescheiden structuur.
Beveiliging & veiligheid
RISICO: MEDIUMTSV is platte tekst en kan zelf geen code uitvoeren, maar het deelt het risico op formule-injectie van CSV: als de waarde van een cel begint met =, +, - of @, kan een spreadsheet dit als een formule uitvoeren wanneer het bestand wordt geopend. Aanvallers misbruiken dit om commando's uit te voeren of gegevens te stelen. Moderne versies van Excel en LibreOffice waarschuwen voordat dergelijke formules worden uitgevoerd - schakel ze niet in bij bestanden van onbetrouwbare bronnen. Het dagelijkse risico is echter eerder gegevenscorruptie dan malware: een verkeerde codering verminkt niet-Latijnse tekst, en een echte tab of regeleinde die per ongeluk in een waarde staat, kan latere kolommen doen verschuiven.
Formaatdetails
in een notendopProgramma's die TSV-bestanden openen
Technische details
diepe specificaties| Veldscheidingsteken | Horizontale tab (U+0009 / 0x09) |
| Recordscheidingsteken | LF (0x0A) volgens IANA-specificatie; CRLF (0x0D 0x0A) breed geaccepteerd in de praktijk |
| Bestandscodering | Geen coderingsverklaring in het bestand; UTF-8 is de moderne standaard; oudere bestanden kunnen ASCII of regiospecifieke coderingen gebruiken |
| Byte-order mark | Optionele UTF-8 BOM (EF BB BF) toegestaan; veel parsers verwijderen of negeren dit bij het lezen |
| Magic bytes | Geen - het formaat heeft geen binaire handtekening; geïdentificeerd door de door tabs gescheiden rijstructuur |
| MIME-type | text/tab-separated-values |
| Kopregel | Optioneel; de eerste regel bevat conventioneel de kolomnamen |
| Veld-aanhalingstekens | Geen verplichte standaard; sommige parsers staan velden tussen dubbele aanhalingstekens toe die ingebedde tabs of regeleinden bevatten |
| Lege velden | Vertegenwoordigd door twee opeenvolgende tab-tekens (bijv. waarde1\t\twaarde3 betekent een leeg middelste veld) |
| Kolomlimiet | Geen gedefinieerd door het formaat; afhankelijk van de applicatie (Microsoft Excel ondersteunt tot 16.384 kolommen) |
| Rijlimiet | Geen limiet gedefinieerd door het formaat; beperkt door beschikbaar geheugen en de importerende applicatie |
| Alternatieve extensie | .tab - identiek gestructureerde bestanden worden uitwisselbaar met deze extensie opgeslagen |
| Primaire use-cases | Export van database- en spreadsheetgegevens, bio-informatica gegevensuitwisseling (BLAST-output, genoomannotatie), ETL-pipelines |
| Vereiste voor aanhalingstekens | Zelden nodig, omdat tab-tekens zelden voorkomen in tekstvelden - een praktisch voordeel ten opzichte van door komma's gescheiden formaten |
| Uitgebracht | Tab-delimited text in use since the 1980s; IANA media type registered 1993 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.iana.org |
TSV conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over TSV-bestanden.