fixmint
HU

Excel CSV-be ékezethibák nélkül: UTF-8, BOM és elválasztók

Szerző: · · 5 perces olvasás

A CSV-fájlok törött ékezeteinek többsége kódolási eltérésből ered: a fájl UTF-8-ként van mentve, de Windows-kódolásként nyitják meg. Exportáld a táblázatot CSV UTF-8 formátumban, bájtsorrend-jelzővel (BOM), ha az Excel fogja megnyitni, és válaszd ki azt az elválasztót, amelyet a célprogram vár. Exportálás előtt formázd szövegként az olyan oszlopokat, mint az irányítószám és a telefonszám, hogy a nullák megmaradjanak.

Excel átalakítása CSV-beCSV kell, Excel-fájlom vanPróbáld ki ingyen

Miért lesz az „é”-ből „é”?

A fájlban a karakterek bájtokként tárolódnak. UTF-8-ban az „é” két bájt: C3 és A9. Egy olyan program, amely ezeket a bájtokat Windows-1252 kódolásként olvassa – ez egy gyakori Windows-kódolás –, a C3-at „Ô, az A9-et „©” karakterként látja. Így a „café” „café”-ként jelenik meg. Ezt magad is ellenőrizheted: ha az „é”-t UTF-8-ban kódolod, az eredményt pedig Windows-1252-ként dekódolod, „é” lesz belőle. Ugyanígy törik el az „ü”, „ñ” vagy „ö” is.

A javítás nem a karakterek szerkesztése. Azt kell megmondani a programnak, milyen kódolást használ a fájl.

UTF-8 és a BOM

Az UTF-8 a szöveg szabványos kódolása a weben és a legtöbb modern szoftverben. Egy sima CSV-fájlban nincs olyan mező, amely megmondaná, milyen kódolást használ, ezért a programok találgatnak. A bájtsorrend-jelző (BOM) a fájl elején álló három bájt: EF BB BF. Ez jelzi az UTF-8-at azoknak a programoknak, amelyek keresik. A Windows-os Excel BOM nélkül gyakran a helyi kódolással nyitja meg az UTF-8-as fájlt, ezért a BOM a gyakori megoldás.

Az Excel újabb verzióiban a Mentés másként menüben van egy CSV UTF-8 lehetőség, amely hozzáadja a BOM-ot. A fájlt az Adatok, Szövegből/CSV-ből menüponton keresztül is importálhatod, és a Fájl eredete mezőt 65001-re, vagyis UTF-8-ra állíthatod. A BOM-nak van egy hátránya: az a program, amely nem számít rá, az első oszlop nevének részeként kezelheti. A legtöbb elemző és táblázatkezelő program elbírja vele, de ha egy adatimportáló furcsa fejlécet jelez, távolítsd el a BOM-ot.

Vessző vagy pontosvessző

A CSV rövidítés a „vesszővel elválasztott értékek” (comma-separated values) kifejezésre utal, és az RFC 4180 szabvány vesszővel elválasztott mezőket ír le. Sok országban, köztük ott, ahol tizedesvesszőt használnak, például 1,5 az egy és fél jelölésére, az Excel listaelválasztója pontosvessző. Ilyenkor a vesszővel elválasztott fájl Excelben rosszul tagolódhat, és egy olyan szám, mint az 1,5, két mezőre bomlik.

Válaszd ki a célprogram által elvárt elválasztót. Az Excel átalakítása CSV-be eszköz vesszőt, pontosvesszőt és tabulátort kínál. Ha a fájl tizedesvesszős nyelvi beállítású programnak készül, a pontosvessző általában a biztonságosabb választás.

A dátumok sorszámokká válnak

Az Excel a dátumokat sorszámként tárolja: a számolás egy kezdőponttól indul. Az 1900-as dátumrendszerben 1900. január 1. sorszáma 1. Az Excel 1900-at szökőévnek tekinti, ezért egy valójában sosem létezett, 1900. február 29-ét is számon tart, 60-as sorszámmal. Emiatt az 1900. március 1. sorszáma 61, és minden későbbi dátum egy nappal el van tolva. A hiba a Lotus 1-2-3-ból származik, a Microsoft pedig kompatibilitási okból megtartotta ugyanezt a rendszert. Más programok az 1900. március 1. előtti dátumokat egy nappal eltérően olvashatják.

Dátum exportálásakor előfordulhat, hogy 44927 jelenik meg 2023-01-01 helyett, vagy régi dátumoknál eggyel eltér az érték. Az eszköz olvasható szöveggé alakítja a dátumokat. Ha kézzel exportálsz, formázd a dátumoszlopot szövegként, ISO-formában, yyyy-mm-dd alakban, amelyet minden program egyformán olvas.

Eltűnnek a vezető nullák

Az olyan irányítószám, mint a 02134, szöveg, de az Excel a begépelt számot számként kezeli, így 2134 jelenik meg. A nulla eltűnik a táblázatból, és az abból írt CSV-ben sem lesz ott. Ugyanez történik a 0-val kezdődő telefonszámokkal és a hosszú azonosítókkal. A nagyon hosszú számok számjegyeket is veszíthetnek, mert az Excel nagyjából 15 értékes számjegyet tart meg.

A megoldás, hogy ezeket az oszlopokat az adatok bevitele vagy importálása előtt szövegként tárold. Ha már nullákat tartalmazó CSV-t nyitsz meg, használd az Adatok, Szövegből/CSV-ből lehetőséget, és az oszlopot állítsd Szövegre, ahelyett hogy duplán kattintanál a fájlon.

Idézési szabályok

Az RFC 4180 írja le a általános CSV-formátumot. Főbb idézési szabályai:

  • Azt a mezőt, amely vesszőt, dupla idézőjelet vagy sortörést tartalmaz, idézőjelek közé kell zárni.
  • Az idézett mezőn belüli dupla idézőjelet két dupla idézőjellel kell írni.
  • A specifikációban a sorok CRLF-fel zárulnak, bár a legtöbb eszköz elfogadja az LF-et is.

Például a "Müller, Anna","She said ""ok""" sor két mezőt tartalmaz: Müller, Anna és She said "ok". Az IANA-nál regisztrált MIME-típus a CSV-hez a text/csv.

Az RFC 4180 nem engedi, hogy idézőjel álljon egy idézés nélküli mezőben, és sok elemző az ilyen sort elutasítja vagy rosszul bontja fel. Idézd megfelelően a mezőt, vagy távolítsd el az idegen karaktert.

Ellenőrzőlista exportálás előtt

  1. Exportálj CSV UTF-8 formátumban, BOM-mal, ha az Excel nyitja meg a fájlt.
  2. Válaszd ki a célprogram által elvárt elválasztót.
  3. Az azonosítószerű oszlopokat, például az irányítószámokat és a telefonszámokat, formázd szövegként.
  4. A dátumokat yyyy-mm-dd formában írd.
  5. Nyisd meg a fájlt egyszerű szövegszerkesztőben, és ellenőrizd az első sort, valamint néhány ékezetes nevet.

A rejtett karakterek, például a nem törő szóközök, szintén importálási hibát okozhatnak. A Rejtett karakterek eltávolítása eszköz megkeresi és eltávolítja őket, a rejtett karakterek a szövegben cikk pedig elmagyarázza, honnan származnak. Miután a fájl tiszta, a CSV → JSON konvertáló fejlesztőknek átalakíthatja, ahogy a CSV és JSON oda-vissza cikkben olvasható.

Export előtt érdemes megnézni magukat a cellákat is: az Excel-képlethibák keresője felsorolja azokat a képleteket, amelyek hibát mutatnak vagy másik fájlra hivatkoznak, és éppen ezek a cellák érkeznek üresen a CSV-be. Export után a Táblázatok összehasonlítása eszközzel megnézheted, mi változott a verziók között.

Gyors válaszok

Miért jól néz ki a fájl egyik programban, és miért törött Excelben? Ha egy UTF-8-as fájlnak nincs BOM-ja, a Windows-os Excel a helyi kódolással olvashatja. A BOM hozzáadása, vagy az UTF-8 kiválasztása importáláskor megoldja ezt.

Kell a BOM a Mac-es Excel-verziókhoz? Egyes források szerint igen, ezért küldés előtt teszteld egy ékezetes nevet tartalmazó fájllal.

Utólag is javíthatom a dátumokat? Igen, ha még sorszámok, de jobb, ha az exportnál már yyyy-mm-dd formában mented őket.

Feltöltődik a táblázatom, amikor átalakítom? Az eszköz a böngészőben fut, így a fájlt a saját eszközödön dolgozza fel. Ezt a feltöltés-ellenőrzési útmutató segítségével is megnézheted.

A Angol eredeti alapján, MI segítségével fordítva.

Hozzászólások

    Még nincs hozzászólás. Legyél te az első.

    Az értékelésed (nem kötelező)

    Az e-mail-címed sosem jelenik meg, és nem tároljuk.

    Open Data for AGI - Why Public, Free, and Open Datasets Matter borítójaOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    Miért fogják a nyilvános, ingyenes és nyílt adathalmazok ugyanúgy formálni a mesterséges általános intelligenciát, mint az algoritmusok és a számítási kapacitás.

    $4.99Megvásárlás a GumroadonAngolul