Open of plak een CSV-bestand en de TSV verschijnt in het voorbeeld; ‘TSV downloaden’ slaat hem op als .tsv-bestand. Komma’s in waarden hebben in TSV geen aanhalingstekens nodig, dus de meeste rijen komen eruit als gewone tekst met tabs. De enige echte keuze is wat er moet gebeuren met tabs en regeleinden binnen een waarde: tussen aanhalingstekens voor Excel en pandas, met backslash-escapes voor PostgreSQL, of vervangen door een spatie voor strikte TSV-lezers. Het bestand wordt in je browser omgezet en nooit geüpload.
Zo zet je CSV om naar TSV
- Open een
.csv-,.tsv- of.txt-bestand, sleep het naar de tool of plak rijen. Het scheidingsteken wordt herkend. Stel het zo nodig in onder Importinstellingen, net als een oudere codering zoals Windows-1252. - Kies bij Tabs en regeleinden binnen waarden de stijl die het programma verwacht dat de TSV inleest. Stel daarna Regeleinden en Kopregel meenemen in.
- Kies de Codering van het resultaat en kies ‘TSV downloaden’, of gebruik Kopiëren voor de tekst.
Wil je meerdere CSV-bestanden met dezelfde instellingen omzetten? Kies dan Batch: meerdere bestanden omzetten. Elk bestand wordt ingelezen met automatische herkenning van het scheidingsteken en een kopregel, en de resultaten worden samen als één ZIP-bestand gedownload.
Wat elke optie doet
| Waarde tussen aanhalingstekens (Excel, pandas) | De standaard. Een waarde met een tab, een regeleinde, een dubbel aanhalingsteken of een spatie vooraan of achteraan komt tussen dubbele aanhalingstekens, met verdubbelde aanhalingstekens erbinnen: dezelfde regels als bij CSV, maar met een tab als scheidingsteken. Al het andere wordt kaal geschreven. |
|---|---|
| Backslash-escapes \t \n (PostgreSQL) | Nooit aanhalingstekens. Een tab wordt \t, een line feed \n, een carriage return \r en een backslash \\, zodat elk record op één regel blijft. Dit is de tekstindeling die COPY in PostgreSQL leest; dubbele aanhalingstekens worden als gewone tekens geschreven. |
| Vervangen door spaties (strikte TSV) | Elke tab, elk regeleinde en elk CRLF-paar binnen een waarde wordt één spatie, zodat het bestand voldoet aan de IANA-regel dat velden geen tabs bevatten. Backslashes en aanhalingstekens blijven staan. Dit verandert gegevens, en de tool meldt hoeveel waarden het betreft. |
| Regeleinden | Windows (CRLF) (standaard) of Unix en macOS (LF) na elk record, ook het laatste. |
| Kopregel meenemen | Zet dit uit om alleen gegevensrijen te schrijven, bijvoorbeeld als je ze toevoegt aan een bestaande tabel. |
| Beschermen tegen spreadsheetformules | Standaard aan. Waarden die beginnen met =, +, -, @, een tab of een carriage return krijgen een ' ervoor, zodat een spreadsheet ze als tekst toont. Gewone getallen zoals -12.5 blijven ongewijzigd. Zet het uit als de TSV naar een database of script gaat en de waarden exact moeten blijven. |
| Codering van het resultaat | UTF-8, UTF-8 met BOM (voor Excel), UTF-16 LE (met byte order mark) of Windows-1252. Bij Windows-1252 stopt de tool met een melding die elk teken noemt dat niet kan worden opgeslagen. |
Hoe lastige gegevens worden verwerkt
- Komma’s tussen aanhalingstekens in de CSV hebben in TSV niets nodig:
"Desk lamp, brass"wordtDesk lamp, brass. - Een cel met meerdere regels blijft één waarde. Met aanhalingstekens loopt hij binnen de aanhalingstekens over meerdere regels; met escapes wordt hij op één regel geschreven als
Ships in 2 boxes\nfragile. - Voorloopnullen en lange nummers worden exact geschreven: TSV kent geen typen, dus
00731blijft00731. - Met escapes wordt een Windows-pad zoals
C:\tempgeschreven alsC:\\temp, zodat een lezer die escapes decodeert het origineel terugkrijgt. - Heeft een rij meer waarden dan de kopregel, dan komen er extra kolommen bij met de namen
Column 4,Column 5… Een kortere rij wordt aangevuld met lege waarden. Lege kolomnamen wordenColumn 3en dubbelename (2).
Problemen oplossen
- Rijen worden bij het inlezen halverwege gesplitst. De lezer begrijpt geen regeleinden tussen aanhalingstekens. Kies Backslash-escapes \t \n (PostgreSQL) als hij escapes decodeert, of Vervangen door spaties (strikte TSV) als hij dat niet doet.
- Waarden beginnen met een apostrof. Dat is het werk van Beschermen tegen spreadsheetformules. Zet het uit voor imports in een database of script.
- De spreadsheet toont backslashcodes. In een cel staat
\nof\t, omdat spreadsheets geen backslash-escapes decoderen. Gebruik Waarde tussen aanhalingstekens (Excel, pandas) voor bestanden die bedoeld zijn voor Excel of LibreOffice. - Alles komt in één kolom terecht. Het scheidingsteken van de invoer is verkeerd geraden. Stel het in onder Importinstellingen en open het bestand opnieuw.
Grenzen en grote bestanden
Bestanden tot 25 MB, 100.000 rijen, 250 kolommen en 2 miljoen cellen openen met een live voorbeeld. Grotere bestanden worden in delen omgezet: het bestand wordt twee keer in stukken gelezen, eerst om het breedste record te vinden en dan om te schrijven, en de download bevat alle rijen, met dezelfde uitvoer die het voorbeeld zou tonen. Kopiëren is voor die bestanden niet beschikbaar, en één resultaat is maximaal 4 GB.
In deze modus wordt de codering automatisch bepaald (UTF-8, of UTF-16 als het bestand met een byte order mark begint) en geldt de eerste rij als kopregel.
Het omzetten gebeurt in een achtergrondproces in dit tabblad; met Annuleren stop je het. Wil je het scheidingsteken wijzigen maar de CSV-aanhalingstekens houden, gebruik dan CSV-opmaak aanpassen. Voor een tabel om in documentatie te plakken, gebruik je CSV naar Markdown.
Voorbeeld
Een orderlijst met een komma tussen aanhalingstekens, een notitie van twee regels en een waarde die op een formule lijkt, omgezet met de standaardinstellingen (Waarde tussen aanhalingstekens (Excel, pandas), formulebescherming aan; getoond met LF-regeleinden). Met Backslash-escapes \t \n (PostgreSQL) wordt de notitie Ships in 2 boxes\nfragile op één regel, en wordt de formulewaarde zonder aanhalingstekens geschreven.
id,product,note
00731,"Desk lamp, brass","Ships in 2 boxes
fragile"
00732,Cable tidy,"=HYPERLINK(""x"")"id product note
00731 Desk lamp, brass "Ships in 2 boxes
fragile"
00732 Cable tidy "'=HYPERLINK(""x"")"Vragen en antwoorden
Wat is het verschil tussen CSV en TSV?
Alleen het scheidingsteken en de gewoonten die daarbij horen. TSV scheidt velden met een tab, dus komma’s in waarden hebben geen aanhalingstekens nodig. De IANA-definitie verbiedt tabs binnen velden, en daarom zijn programma’s het er niet over eens hoe ze die moeten schrijven.
Welke optie kies ik voor COPY in PostgreSQL?
Backslash-escapes \t \n (PostgreSQL), met formulebescherming uit. De tekstindeling van PostgreSQL gebruikt standaard een tab als scheidingsteken en decodeert \t, \n, \r en \\. Een lege waarde wordt als lege tekenreeks geladen, omdat de standaardmarkering voor NULL in die indeling \N is. Voeg NULL '' toe aan de COPY-opties om lege waarden als NULL te laden.
Kan ik TSV terugzetten naar CSV?
Ja: open de TSV in CSV-opmaak aanpassen. Het tab-scheidingsteken wordt herkend, en je kunt een komma of puntkomma kiezen voor het resultaat. Backslash-escapes worden als gewone tekens gelezen, niet gedecodeerd.