fixmint
FI

Excel CSV:ksi ilman rikkinäisiä ääkkösiä: UTF-8, BOM ja erotinmerkit

Kirjoittaja · · 5 min lukuaika

Useimmat rikkinäiset ääkköset CSV-tiedostossa johtuvat koodauksen ristiriidasta: tiedosto on tallennettu UTF-8:na, mutta se avataan Windows-koodauksena. Vie taulukko CSV UTF-8 -muodossa ja lisää tavujärjestysmerkki (BOM), jos tiedoston avaa Excel. Valitse lisäksi kohdeohjelman odottama erotinmerkki. Muotoile ennen vientiä postinumerot ja puhelinnumerot tekstiksi, niin nollat säilyvät.

Excel CSV:ksiTarvitsen CSV:n, minulla on ExcelTee se ilmaiseksi

Miksi ”é” muuttuu muotoon ”é”

Tiedoston merkit tallennetaan tavuina. UTF-8:ssa kirjain é on kaksi tavua, C3 ja A9. Ohjelma, joka lukee nuo tavut Windows-1252-koodauksena (yleinen Windows-koodaus), näkee tavun C3 merkkinä à ja tavun A9 merkkinä ©. Siksi ”café” näkyy muodossa ”café”. Voit kokeilla tätä itse: kun koodaat é:n UTF-8:ksi ja luet tuloksen Windows-1252:na, saat é. Myös ü, ñ ja ö rikkoutuvat samalla tavalla.

Korjaus ei ole merkkien muokkaamista. Kerro ohjelmalle, mitä koodausta tiedosto käyttää.

UTF-8 ja BOM

UTF-8 on verkon ja useimpien nykyisten ohjelmien tavallinen tekstikoodaus. Tavallisessa CSV-tiedostossa ei ole kenttää, joka kertoisi koodauksen, joten ohjelmat arvaavat. Tavujärjestysmerkki (BOM) on kolme tavua tiedoston alussa, EF BB BF, ja se kertoo UTF-8:sta niille ohjelmille, jotka sen tarkistavat. Windowsin Excel avaa usein ilman BOM:ia olevan UTF-8-tiedoston paikallisella koodauksella, joten BOM on yleinen korjaus.

Excelin uudemmissa versioissa Tallenna nimellä -valikossa on vaihtoehto CSV UTF-8, joka lisää BOM:in. Voit myös tuoda tiedoston valitsemalla Tiedot > Tekstistä/CSV:stä ja asettamalla Tiedoston alkuperäksi 65001 (UTF-8). BOM:issa on yksi haitta: ohjelma, joka ei odota sitä, saattaa lukea sen osaksi ensimmäisen sarakkeen nimeä. Useimmat jäsentimet ja taulukkolaskentaohjelmat käsittelevät sen oikein, mutta jos tuontityökalu ilmoittaa oudon otsikon, poista BOM.

Pilkku vai puolipiste

CSV tarkoittaa pilkuilla erotettuja arvoja, ja RFC 4180 -määritys kuvaa kentät pilkuilla erotettuina. Monissa maissa, myös niissä, jotka käyttävät desimaalipilkkua, kuten 1,5 yhden ja puolen kohdalla, Excelin listaerotin on puolipiste. Silloin pilkuilla erotettu tiedosto voi jakautua Excelissä huonosti, ja luku 1,5 muuttuu kahdeksi kentäksi.

Valitse kohdeohjelman odottama erotin. Excel CSV:ksi -työkalu tarjoaa pilkun, puolipisteen ja sarkaimen. Jos tiedosto on tarkoitettu ohjelmalle desimaalipilkkua käyttävällä kielialueella, puolipiste on yleensä turvallisempi valinta.

Päivämäärät muuttuvat sarjanumeroiksi

Excel tallentaa päivämäärät sarjanumeroina, jotka laskevat päiviä lähtöpisteestä. 1900-päivämääräjärjestelmässä 1. tammikuuta 1900 on sarjanumero 1. Excel käsittelee myös vuotta 1900 karkausvuotena, joten se laskee mukaan 29. helmikuuta 1900, jota ei koskaan ollut, sarjanumerolla 60. Siksi 1. maaliskuuta 1900 on sarjanumero 61, ja jokainen myöhempi päivämäärä siirtyy yhdellä päivällä. Virhe tuli Lotus 1-2-3:sta, ja Microsoft on säilyttänyt saman järjestelmän yhteensopivuuden vuoksi. Muu ohjelmisto voi lukea 1. maaliskuuta 1900 edeltävät päivämäärät yhden päivän väärin.

Viennissä saatat nähdä luvun 44927 päivämäärän 2023-01-01 sijaan, tai vanhoissa päivämäärissä yhden päivän eron. Työkalu muuntaa päivämäärät luettavaksi tekstiksi. Jos viet tiedot käsin, muotoile päivämääräsarake tekstiksi ISO-muodossa yyyy-mm-dd, jonka jokainen ohjelma lukee samalla tavalla.

Alkunollat katoavat

Postinumero kuten 02134 on teksti, mutta Excel käsittelee kirjoitettua numeroa lukuna, joten se näyttää 2134. Nolla katoaa taulukosta, eikä siitä tehdyssä CSV:ssä ole sitäkään. Samoin käy nollalla alkaville puhelinnumeroille ja pitkille tunnusnumeroille. Erittäin pitkät luvut voivat myös menettää numeroita, koska Excel säilyttää vain noin 15 merkitsevää numeroa.

Korjaus on tallentaa nuo sarakkeet tekstiksi ennen tietojen syöttämistä tai tuontia. Kun avaat CSV-tiedoston, jossa nollat ovat jo mukana, käytä Tiedot > Tekstistä/CSV:stä -toimintoa ja aseta sarake tekstiksi sen sijaan, että kaksoisnapsauttaisit tiedostoa.

Lainauksen säännöt

RFC 4180 määrittelee yleisen CSV-muodon. Sen tärkeimmät lainaussäännöt ovat:

  • Kenttä, jossa on pilkku, lainausmerkki tai rivinvaihto, on suljettava lainausmerkkeihin.
  • Lainatun kentän sisällä oleva lainausmerkki kirjoitetaan kahtena lainausmerkkinä.
  • Määrittelyn mukaan rivit päättyvät CRLF-merkkeihin, vaikka useimmat työkalut hyväksyvät myös LF:n.

Esimerkiksi rivi "Müller, Anna","She said ""ok""" sisältää kaksi kenttää: Müller, Anna ja She said "ok". IANA:n rekisteröimä CSV:n MIME-tyyppi on text/csv.

RFC 4180 ei salli lainausmerkkiä lainaamattoman kentän sisällä, ja monet jäsentimet hylkäävät tällaisen rivin tai jakavat sen väärin. Lainaa kenttä oikein tai poista ylimääräinen merkki.

Tarkistuslista ennen vientiä

  1. Vie tiedosto CSV UTF-8 -muodossa, BOM:in kanssa, jos Excel avaa sen.
  2. Valitse kohdeohjelman odottama erotinmerkki.
  3. Muotoile tunnuksen kaltaiset sarakkeet, kuten postinumerot ja puhelinnumerot, tekstiksi.
  4. Kirjoita päivämäärät muodossa yyyy-mm-dd.
  5. Avaa tiedosto tavallisessa tekstieditorissa ja tarkista ensimmäinen rivi sekä otos ääkkösellisistä nimistä.

Piilotetut merkit, kuten sitomattomat välilyönnit, voivat myös aiheuttaa tuontivirheitä. Poista näkymättömät merkit -työkalu löytää ja poistaa ne, ja näkymättömät merkit tekstissä selittää, mistä ne tulevat. Kun tiedosto on puhdas, CSV–JSON-muunnin voi muuntaa sen kehittäjää varten, kuten artikkelissa CSV–JSON ja takaisin kerrotaan.

Ennen vientiä kannattaa tarkistaa solut itse: Excel-kaavatarkistin listaa kaavat, jotka näyttävät virheen tai viittaavat toiseen tiedostoon, ja juuri nuo solut päätyvät CSV:ssä tyhjinä. Viennin jälkeen Vertaile taulukoita näyttää, mikä muuttui versioiden välillä.

Pikavastaukset

Miksi tiedostoni näyttää oikealta yhdessä ohjelmassa ja rikkinäiseltä Excelissä? Kun UTF-8-tiedostosta puuttuu BOM, Windowsin Excel voi lukea sen paikallisella koodauksella. BOM:in lisääminen tai tuominen UTF-8 valittuna korjaa asian.

Tarvitsevatko Macin Excel-versiot BOM:ia? Joidenkin lähteiden mukaan tarvitsevat, joten testaa ääkkösellisellä nimellä varustetulla tiedostolla ennen lähettämistä.

Voinko korjata päivämäärät viennin jälkeen? Kyllä, jos ne ovat yhä sarjanumeroita, mutta on parempi viedä ne heti muodossa yyyy-mm-dd.

Ladataanko taulukkoni palvelimelle, kun muunnan sen? Työkalu toimii selaimessasi, joten tiedosto käsitellään omalla laitteellasi. Voit tarkistaa tämän lataustarkistusoppaan avulla.

Käännetty tekoälyn avulla: Englanninkielinen alkuperäisteos.

Kommentit

    Ei vielä kommentteja. Ole ensimmäinen.

    Arvosanasi (valinnainen)

    Sähköpostiosoitettasi ei näytetä eikä tallenneta.

    Kannen kuva: Open Data for AGI - Why Public, Free, and Open Datasets MatterOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    Miksi julkiset, ilmaiset ja avoimet tietoaineistot muovaavat yleistä tekoälyä yhtä paljon kuin algoritmit ja laskentateho.

    $4.99Osta GumroadistaEnglanniksi