Tablora

Tablora · Bibliotheek

Een aanhalingsteken binnen een CSV-veld lezen

In CSV staan twee dubbele aanhalingstekens binnen een geciteerd veld voor één aanhalingsteken. Zie hoe de controle She said "hello" leest en waarom backslashes falen.

Hoe CSV een aanhalingsteken in een waarde schrijft

Een CSV-veld met een aanhalingsteken erin moet zelf tussen aanhalingstekens staan, en elk aanhalingsteken daarbinnen wordt dubbel geschreven. De celtekst She said "hello" staat in het bestand dus als "She said ""hello""". De buitenste aanhalingstekens horen bij de syntaxis; elk verdubbeld paar daarbinnen staat voor één letterlijk aanhalingsteken.

Sommige programma's zetten in plaats daarvan een backslash voor het aanhalingsteken, een gewoonte uit programmeertalen. De structuurcontrole volgt de CSV-regel en niet die gewoonte, dus een aanhalingsteken met een backslash ervoor geldt niet als escape.

De rij met Poster controleren

Het voorbeeld op de pagina heeft de koprij item,note en één record waarvan de note "She said ""hello""" luidt, met komma als Scheidingsteken. De structuurcontrole meldt 2 rijen en 2 kolommen. In rij 2, kolom 2 staat She said "hello", met precies één aanhalingsteken voor hello en één erna.

Zie je in het voorbeeld twee aanhalingstekens aan weerszijden van hello, dan stond het veld in de bron niet tussen aanhalingstekens en gaat het waarschijnlijk helemaal niet om geldige CSV.

Invoer die niet ingelezen kan worden

Geciteerde tekst herstellen en exporteren

Aanhalingstekens in exports uit de app

De CSV-export van de Tablora-app volgt dezelfde regel als een cel een aanhalingsteken, een komma of een regeleinde bevat: de cel komt tussen aanhalingstekens en aanhalingstekens erbinnen worden verdubbeld. In de XLSX-export hoort het aanhalingsteken gewoon bij de celtekst, dus daar zie je geen escapes.

Invoer

Tabeltekst
item,note Poster,"She said ""hello"""
Scheidingsteken
,

Resultaten

Rijen
2
Kolommen
2
itemnote
PosterShe said "hello"
Rijen met een afwijkende breedte
0