fixmint
NO

Konverter CSV til JSON og tilbake uten å miste data

Av · · oppdatert 8. november 2026 · 5 min lesing

CSV er en tabell i ren tekst: én post per linje, med felt skilt av et skilletegn, vanligvis et komma. Den går i stykker når et felt inneholder skilletegnet, et dobbelt anførselstegn eller et linjeskift, fordi leseren må skille struktur fra innhold. Følg reglene for anførselstegn, kontroller skilletegn og overskriftsrad, og behold tall med innledende nuller som tekst. Resten av artikkelen forklarer hva en toveiskonvertering kan og ikke kan bevare.

CSV til JSONTrenger CSV som JSON, eller tilbakeGjør det gratis

Hva en CSV-fil egentlig er

CSV har ingen enkelt autoritativ standard, men RFC 4180 beskriver den vanlige formen, og de fleste lesere følger den. Kjernereglene får plass i en kort liste:

  • Hver post står på sin egen linje, og RFC-en sier at linjer avsluttes med vognretur og linjeskift, CRLF.
  • Felt skilles med komma.
  • Et felt som inneholder et komma, et dobbelt anførselstegn eller et linjeskift, settes i dobble anførselstegn.
  • Et dobbelt anførselstegn inne i et sitert felt skrives som to dobble anførselstegn.

Så raden 1001,"Smith, Ann",02134 har tre felt, fordi kommaet inne i anførselstegnene er innhold. En splitter som deler ved hvert komma finner fire. Leseren i fixmint følger disse reglene: et sitert felt kan inneholde skilletegn, linjeskift og doble anførselstegn, og et ulukket anførselstegn rapporteres med linjen der det starter.

Hvorfor skilletegnet endrer seg

Komma er standard i RFC-en, men der komma er desimaltegn, slik at 1,5 betyr en og en halv, lagrer regneark ofte CSV med semikolon. Tabulatorseparerte filer (TSV) unngår konflikten i de fleste data, fordi tabulatorer sjelden forekommer i tekst.

Skilletegn-menyen tilbyr Auto, Komma, Semikolon, Tab og Loddrett strek. Auto leser de første ti linjene, teller hvert kandidattegn utenfor anførselstegn og velger det der antallet per linje er mest konsekvent. Velg skilletegnet selv når Auto gjetter feil.

Konvertering i fixmint

Eksempelet bruker standardinnstillingene i CSV til JSON-verktøyet.

Eksempel

Lim inn denne CSV-en, med Første rad er overskrift avkrysset:

id,name,zip,note
1001,"Smith, Ann",02134,"She said ""hi"""
1002,Bo,10001,"line one
line two"

Med Konverter tall av og JSON-innrykk satt til 2 mellomrom, returnerer verktøyet:

[
  {
    "id": "1001",
    "name": "Smith, Ann",
    "zip": "02134",
    "note": "She said \"hi\""
  },
  {
    "id": "1002",
    "name": "Bo",
    "zip": "10001",
    "note": "line one\nline two"
  }
]

Med Konverter tall på blir id og zip 10001 til tall, og 02134 forblir tekst.

Steg

  1. Lim inn CSV-en, eller dra en .csv-, .tsv-, .txt- eller .json-fil hit.
  2. Kontroller Første rad er overskrift, Skilletegn og Konverter tall. Velg JSON-innrykk på 2 mellomrom, Tabulator eller Minimert.
  3. Kopier resultatet, eller last det ned som .json.

Behold tall som tekst

JSON-tall kan ikke ha innledende nuller, så 02134 er ikke et gyldig JSON-tall. Postnummer, telefonnumre og produktkoder må forbli tekst, ellers forsvinner nullen. Med Konverter tall på gjør verktøyet 10001 om til et tall, men beholder 02134 som streng. Alternativet er av som standard. Det konverterer bare verdier med punktum som desimaltegn, så 1,5 i en semikolonfil blir stående slik den er skrevet.

Lange identifikatorer krever også omtanke. JavaScript, som kjører de fleste JSON i nettleseren, lagrer tall som 64-bits flyttall. Hele tall er nøyaktige bare opptil 9 007 199 254 740 991, som er 2 opphøyd i 53 minus 1. Tallet 12345678901234567890 blir til 12345678901234567000 når et JavaScript-program leser det. Verktøyet skriver sifrene slik de er skrevet, men et program som parser JSON i JavaScript vil runde dem av. Behold ID-er som strenger. JSON-formatereren bevarer også slike tall nøyaktig og forteller hvor mange den beholdt.

Nøstet JSON og tilbake til CSV

CSV er flat, mens JSON kan være nøstet. Når du konverterer JSON til CSV, lages en kolonne for hver nøkkel på tvers av alle objektene, i den rekkefølgen hver nøkkel først dukker opp. Et nøstet objekt eller en liste havner i cellen som JSON-tekst, en null blir en tom celle, og true og false skrives som ord. Rader sammenføyes med CRLF, og et felt settes i anførselstegn bare når det inneholder skilletegnet, et anførselstegn, et linjeskift eller mellomrom i begge ender.

Inndata som starter med [ eller { leses som JSON. Brikkeknappen bytter retning, merket CSV → JSON eller JSON → CSV. I retningen JSON → CSV viser utdatavalgene en Skilletegn-meny og et alternativ For Excel.

En toveiskonvertering mister informasjon. En null og en tom streng blir begge til en tom celle, og nøstingen kommer ikke tilbake, så behold den opprinnelige JSON-en hvis du trenger strukturen.

Excel, UTF-8 og byte order mark (BOM)

En CSV-fil er bytes, og leseren må kjenne tegnkodingen. UTF-8 holder aksenter og andre alfabeter. En byte order mark (BOM), tre bytes i starten av filen, markerer filen som UTF-8. Uten den leser noen regneark filen i en lokal kodetabell, og aksenttegn blir til rare tegn. Regneark gjør også ofte 02134 om til 2134 når de åpner en CSV.

Alternativet For Excel legger til BOM i den nedlastede CSV-en bare, aldri i den kopierte teksten, og bare i retningen JSON → CSV. Leseren fjerner en BOM fra inndata, så en fil som allerede har en, konverteres uten feil.

Spesialtilfeller

  • Ujevne rader. Med overskrift på blir en kort rad fylt ut med tomme verdier, og en lengre rad beholder de ekstra verdiene som column_N. Resultatet viser hvor mange rader som avviker fra overskriften.
  • Gjentatte eller tomme overskrifter. Et gjentatt navn får _2, _3 og så videre, og et tomt navn blir column_N. Begge endringene hindrer at to nøkler overskriver hverandre.
  • Buede anførselstegn. Smarte anførselstegn fra tekstbehandlere er ikke CSV-anførselstegn, så et felt som “Smith, Ann” splittes ved kommaet. Rett dem ut først, med fiks limt tekst eller slik det beskrives i guiden om buede anførselstegn.
  • Linjeskift inne i anførselstegn. Et felt som strekker seg over to linjer er én post, men fjern duplikate linjer deler inndataen ved hvert linjeskift, så den ville behandle de to halvdelene som separate rader. Konverter til JSON og sammenlign objektene, eller kontroller for hånd. Verktøyet er fortsatt nyttig for lister med én verdi per linje.
  • Store filer. Resultatboksen viser de første 100 000 tegnene, men Kopier og nedlastingen inkluderer hele utdataen.
  • Ugyldig JSON. Konverteringsverktøyet rapporterer linjen og kolonnen for en feil, med en markør under tegnet. JSON-formatereren forklarer de vanlige feilene, og guiden om JSON-feil dekker dem mer utførlig.

Løse mellomrom rundt felt, tomme rader midt i filen og anførselstegn som brukes ulikt, forårsaker de fleste CSV-problemene før skilletegnet i det hele tatt betyr noe. Rens CSV-en først, og konverter deretter.

Oversatt fra Engelsk original med KI-hjelp.

Kommentarer

    Ingen kommentarer ennå. Bli den første.

    Vurderingen din (valgfritt)

    E-posten din vises aldri og lagres ikke.

    Omslag til How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 sider om de menneskelige, økonomiske og strategiske fordelene som fortsatt er sjeldne når KI kan gjøre mesteparten av det kognitive arbeidet.

    $3.84Kjøp på GumroadPå engelsk