Kedves Sabois!
Remélem még két hét után is megnézed ezt a láncot, mert én csak most
olvastam bele újból!
Remek kultúrtörténeti miniesszédet a probléma gyökereiről élvezettel
olvastam, de sajnos hiába figyelek, a hiba fönnáll, és nem lehet (én
legalábbis nem tudtam) megkerülni:
1. A magyar Excel is kizárólag vesszővel hajlandó elhatárolni a mezőket,
holott fejtegetésed szerint neki pontosvesszővel kellene.
2. Tojik a vezérlőpulton beállított mezőelválasztóra, fixen vesszőt használ.
3. Beolvasáskor nem kérdezi meg, milyen elválasztót várjon, ő pontosvesszőt
vár, így a saját maga által készített CSV fájlt sem tudja helyesen tagolva
visszaolvasni.
4. Ha megkérdezné, sem lenne jó semmire, mert a CSV formátumot kifejezetten
adatexportra szánták, és azok a programok, amelyeknek az adatexportot
szánjuk, a germán kultúrkörben szabványos, pontosvesszővel tagolt CSV fájlt
várnak, és joggal fütyülnek arra, hogy az Excel belezavarodott két karakter
megkülönböztetésébe.
Szerintem az egyedüli megoldás az lenne, ha íráskor valóban a vezérlőpulton
beállított mezőelválasztót használná, olvasáskor pedig valóban megkérdezné,
hogy mely kultúrkörből érkrzett az import-fájl, azaz melyik mezőelválasztót
tételezze föl.
Üdv. Stefi
Post by saboisKedves Stefi!
CSV = Comma Separeted Value = vesszővel elválasztott érték.
Amikor ezt kitalálták, akkor kompóter mégcsak az angolszászoknál volt és a
táblázatkezelők csak angolul tudtak. Amerikai szemmel a világban csak angol
nyelv létezik és az a kultúrális közeg, ami ott meghonosodott. Ebben a
kultúrában a vesszőt lehetett mezőelválasztónak használni, mert a
tizedeselválasztó az pont volt.
Ámde a germán kultúrában a tizedeselválasztó az vessző volt, tehát azt nem
lehetett mezőelválasztónak alkalmazni. Mivel Magyarországon az Osztrák-Magyar
Monarchia révén német kultúrbefolyás volt, itt is ez a számábrázolási szokás
alakult ki.
Mikor már elkezdtek csinálni külföldi (=értsd: nem angol) táblázatkezelőket
is, akkor erre a problémára azt találták ki, hogy pontosvessző legyen a
mezőelválasztó, hisz a vessző foglalt tizedeselválasztónak.
Aztán ezt kiegészítették és megbonyolították azzal, hogy ez az egész a
vezérlőpultból szabályozható.
Ezért van ez a kavarás, hogy magyar (a német is) excel így csinálja az CSV
exportot, az angol meg úgy. Erre figyelni kell az importnál vagy más file
kezeléskor.
De a beolvasásnál (az excel) viszonylag intelligensen meg szokta kérdezni,
hogy mi a mezőelválasztó és hogy ő jól gondolja-e az oszlopokat.
talán segítettem, üdv sabois
Post by StefiPróbálkoztam: bármilyen karaktert írok be listaelválasztóként, hatástalan, az
Excel vesszőt használ.
Post by StefiPontosvessző szerepel listaelválasztóként, ezt rögtön megnéztem, ezért nem
értem.
Várom tippjeit!
Üdv! Stefi
Post by Gyorgy Moldova [MCSE, MVP]Kedves Stefi,
a Vezérlopult, Területi beállítások, testreszabás funkciót használva
listaelválasztóként mi szerepel? az Excel ezt használja éles mentéskor.
üdv,g
Ráadásul idoközben kiderítettem, hogy az Excel a saját maga által
készített,
vesszovel tagolt .CSV fájlt nem olvassa be helyesen, ellenben a
pontosvesszovel tagolt fájlokat igen.
A Mentés másként Fájltípusaiban kifejezetten "CSV (pontosvesszovel
tagolt) "
kifejezés jelenik meg. A Súgóban ellentmondó információk vannak a CSV
formátumról: a CSV formátum (vesszovel határolt) cím alatt vesszorol ír,
de a
Fájlformátum-konverterek a Microsoft Excelben cím alatt ismét
pontosvesszovel
tagoltként említi. Ténylegesen vesszovel tagolja a mentett fájlt.
Érdekes,
hogy a CSV (MS DOS) formátumban pontosvesszovel tagoltan menti el a
fájlt,
ekkor viszont - érthetoen - elkódolja a magyar ékezetes karaktereket!
Nekem
pontosvesszovel tagolt, a magyar ékezetes karaktereket megorzo formátum
kellene! Mit tehetek?