2016. január 2., szombat

CSV vessző vagy pontosvessző probléma

Előfordulhat, hogy Microsoft EXCEL-ben megnyitva egy CSV (Comma Separated Values) fájlt, az EXCEL nem találta meg, hogy hol is vannak a mezőhatárok, így pedig az első cellába tesz bele mindent. Ennek oka megegyezik azzal, amikor EXCEL-ből exportálunk CSV-be és nem pontosvessző lesz a szeparálókarakter.

Az alapvető probléma az, hogy az CSV-ben eredetileg a vessző (,) az elválasztó. Ehhez megfelelően az amerikai Windows verziókban a vessző az alapértelmezett Listaelválasztó (List Separator), ami a CSV-nek tökéletes. Ezzel szemben az európai verzióban a vessző a Tizedesjel (Decimal Symbol), és a Listaelválasztónak alapértelmezetten a pontosvessző (;) van megadva.

Az EXCEL-be való importáláshoz egy lehetséges megoldás, hogy ha CSV helyett TXT a kiterjesztés, mivel akkor megnyitáskor a megnyíló varázslóban kiválasztható, hogy mi a szeparátor.

Importálás és exportálás során egyaránt használható módszer (lehet, de nem ajánlott), ha lecseréljük a CSV fájlban az összes pontosvesszőt (;) egyszerű vesszőre (,).

Ennél sokkal hatékonyabb és célravezetőbb, hogy ha a Vezérlőpultban a területi beállításoknál módosítjuk az alapértelmezett értékeket.
  • Start | Vezérlőpult | Regional and Language Options
  • Additional Settings
  • Decimal Symbol legyen pont (.)
  • List Separator legyen vessző (,)
A beállításhoz tartozó ablakok

Ezt követően az EXCEL fel fogja ismerni, hogy ha pontosvesszővel vannak tagolva a CSV fájlban az értékek, valamint exportáláskor automatikusan pontosvesszővel fogja elválasztani az adatokat.

3 megjegyzés: