fixmint
HU

Rendetlen CSV-export tisztítása: mit ellenőrizz, sorrendben

Szerző: · · 5 perces olvasás

Egy rendetlen CSV-export tisztításához rétegenként javítsd: előbb a karaktereket, aztán az elrendezést, végül azt, hogy egyes oszlopok mit jelentenek. A CSV egyszerű szöveges fájl, ezért a legtöbb probléma rossz karakterekből, felesleges sorokból vagy elválasztókból áll, illetve olyan értékekből, amelyeket a program másképp olvas, mint te. Először a karaktereket javítsd. Egy rejtett szóköz miatt a dátum nem dátumként ismerődik fel, és a későbbi javítások érthetetlen módon elbuknak.

CSV tisztítóÜres mezők és másolatok a CSV-benPróbáld ki ingyen

Jónak látszó, de nem jó karakterek

Elcsúszott szóközök. Egy cella elején vagy végén lévő szóköz, illetve két szóköz egy érték közepén azt eredményezi, hogy a keresés, a szűrő vagy az összekapcsolás a „Berlin ” és a „Berlin” két különböző értéknek tekinti.

Láthatatlan karakterek. Egyes karakterek nem foglalnak helyet a képernyőn:

  • A nem törhető szóköz (U+00A0) normál szóköznek látszik, de másik karakter. Weboldalak azért használják, hogy a szavak együtt maradjanak.
  • A nulla szélességű szóköz (U+200B) egyáltalán nem foglal helyet.
  • A bájtsorrend-jelölő (U+FEFF) a fájl legelején is állhat, az első fejléc előtt. Az oszlop „id”-nak látszik, de valójában „id”, így az „id” szerinti keresés nem talál semmit.

A Rejtett karakterek eltávolítása eszköz a módosítás előtt megmutatja, mit talál.

Törött betűk. Ha „é” helyett „é” szerepel, az kódolási hiba, amit mojibake-nek hívnak. A fájl UTF-8-ként lett mentve, ahol az é két bájtot foglal, majd Windows-1252-ként olvasták, ahol ez a két bájt két teljesen más betű lesz. Egy „’” aposztróf ugyanígy „’”-ként jelenik meg. A megoldás, hogy UTF-8-ként olvasd be a fájlt, vagy exportáld újra a forrásból UTF-8 kódolással. A rosszul elmentett szöveg javítása bizonytalan, ezért tartsd meg az eredetit, és a másolattal dolgozz.

Elrendezés: címsorok, üres sorok és duplikátumok

A jelentések gyakran címmel, dátummal és egy üres sorral kezdődnek a valódi fejléc előtt. Töröld a fejlécsor fölötti mindent, hogy az első sor az oszlopneveket tartalmazza. Minden oszlopnak egy neve legyen, és egyik név sem lehet üres.

Minden sornak ugyanannyi mezője legyen. Egy idézőjelek nélküli értéken belüli felesleges vessző új mezőt hoz létre, és az utána lévő minden érték eggyel jobbra csúszik. Számold meg soronként a mezőket. Az a sor, amelyiknek más a mezőszáma, hibás.

A duplikátumoknak két fajtája van. Azok a sorok, amelyek minden oszlopban megegyeznek, általában kétszeri exportálásból vagy beillesztésből származnak, és biztonságosan törölhetők. Azok a sorok, amelyek azonos kulcsúak, de máshol eltérnek, lehetnek frissítések. Ha rossz példányt törölsz, a legújabb változat tűnhet el, ezért előbb ellenőrizd őket.

Dátumok: a 03/04/2026 két különböző nap is lehet

A 03/04/2026 az egyik országban április 3., a másikban március 4. is lehet, és a szöveg nem mondja meg, melyik.

Nézd meg a többi dátumot ugyanabban az oszlopban. Ha valamelyik első szám 12 fölött van, az oszlop nap-hónap sorrendű. Ha valamelyik második szám 12 fölött van, akkor hónap-nap sorrendű. Ha minden értékben mindkét szám 12 vagy kisebb, a fájl nem árulja el, ezért kérdezd meg a forrásrendszert. Az Adattípus-ellenőrző az ilyen oszlopot nem találgatja meg, hanem kétértelműként jelöli meg.

Amint ismered a sorrendet, alakítsd át minden dátumot ISO 8601 formátumra, vagyis év-hónap-nap alakra, például 2026-04-03. Ez egyértelmű, és szövegként is helyesen rendeződik. A vegyes formátumokat egyenként alakítsd át, mert az olyan oszlopot, amelyben mindkét stílus szerepel, a legtöbb program következetlenül olvassa.

Számok szövegként tárolva

Egy szám akkor szövegként van tárolva, ha pénznem-jel, százalékjel vagy szóköz van benne, például „€ 12”, „45%” vagy nem törhető szóközzel írt „1 234”. Az ezreselválasztók, mint az „1,234.50”-ben, gyakran azt eredményezik, hogy a program ezt az értéket is szövegként olvassa. A táblázatkezelő a szöveges számokat balra igazítva mutatja, az összegzésből pedig kihagyja őket.

A tizedesjelek jelentik a csapdát. Az „1.234,50”-ben a vessző a tizedesjel, a pont pedig az ezreseket csoportosítja. Az „1,234.50”-ben fordítva van. Így az „1,234” az egyik exportban 1234, a másikban 1.234 lehet. Az átalakítás előtt derítsd ki a forrás nyelvi beállítását, majd az ezreselválasztókat töröld, a tizedesvesszőt pedig cseréld pontra.

Vezető nullák elvesznek

Az irányítószámok, termékkódok és számlaszámok gyakran nullával kezdődnek. Amikor a CSV-fájl táblázatkezelőben nyílik meg, a „01234” számként, 1234-ként jelenik meg, és a nullák eltűnnek. A fájl mentése megtartja a veszteséget, ezért a forrásrendszer az egyetlen megbízható példány.

Az azonosító akkor is szöveg, ha számnak látszik, mert vele soha nem végzel számítást. Az ilyen oszlopoknál kapcsold ki a számátalakítást, amikor megtisztítod a CSV-fájlt, és a fájlt ne a táblázatkezelő által mentett másolatból, hanem újra a forrásból nyisd meg. Utána ellenőrizd minden oszlop adattípusát, hogy az irányítószám-oszlop csendben vissza ne váltson számokra. Az Excel CSV megnyitásakor szintén módosíthatja az értékeket, ezért az eredményt egyszerű szöveges nézetben ellenőrizd.

Ellenőrizd a típusokat, aztán elemezd

A tisztítás után ellenőrizd minden oszlop típusát. Egyetlen „N/A” egy árakat tartalmazó oszlopban a teljes oszlopot szöveggé alakítja, és az összeg ezért hibás lesz. Az Adattípus-ellenőrző minden oszlopnak típust és megbízhatósági pontszámot ad, és felsorolja azokat a cellákat, amelyek nem illenek bele.

Ezután elemezd az oszlopokat. A CSV oszlopelemző minden oszlopban megmutatja a hiányokat és a kilógó értékeket. Egy kilógó érték lehet valódi adat, vagy hiba, például egy ár, amely a többinél ezerszer nagyobb, és ez gyakran rossz helyre tett tizedesjelből vagy elválasztóból ered.

Szélsőséges esetek

  • Sortörések idézőjelen belül. Egy idézőjelbe tett érték tartalmazhat sortörést. Az a eszköz, amely a fájlt sorok szerint darabolja, ezt a sort kettévágja, ezért olyan olvasót használj, amely érti az idézőjelbe tett mezőket.
  • Pontosvesszős fájlok. Sok európai táblázatkezelő pontosvesszővel menti a CSV-t, mert a vessző az ő nyelvi beállításukban a tizedesjel. Az oszlopok olvasása előtt ellenőrizd az elválasztót.
  • Tartsd meg az eredetit. A megtisztított eredményt új fájlba írd, az exportált fájlt pedig hagyd úgy, ahogy érkezett.

A sorrend ellenőrzőlistaként

  1. Őrizz meg egy másolatot az eredeti exportról.
  2. Távolítsd el az elcsúszott szóközöket és a láthatatlan karaktereket. A törött betűket, ha lehet, a forrásban javítsd.
  3. Töröld a címsorokat, ellenőrizd a fejlécneveket, és győződj meg róla, hogy minden sornak ugyanannyi mezője van.
  4. Keresd meg a duplikátumokat, és döntsd el, melyik változatot tartod meg.
  5. Alakítsd át a dátumokat év-hónap-nap formátumra, távolítsd el az elválasztókat, az azonosítókat pedig tedd szöveggé.
  6. Ellenőrizd minden oszlop típusát, majd elemezd hiányok és kilógó értékek szempontjából.

Gyors válaszok

Miért bukik el a keresés, ha az értékek azonosnak látszanak?

Általában egy cellában van szóköz, nem törhető szóköz vagy bájtsorrend-jelölő. Távolítsd el a rejtett karaktereket, és próbáld újra.

Miért változnak meg a dátumaim más dátummá?

Egy program a nap-hónap vagy hónap-nap sorrendű dátumot rossz sorrendben olvasta, vagy a szöveget a saját dátumformátumába alakította. Előbb te alakítsd át a dátumokat év-hónap-nap formátumra.

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