PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Komma getrennt in Tabulator getrennt umwandeln


lasso
25.08.2004, 17:06:42
Hallo zusammen

Ich suche ein Möglichkeit, eine .db-Datei mit mehreren kommagetrennten Werten mittels PHP in tabulatorgetrennte Werte zu verwandeln und in eine neue Datei zu schreiben.

Ursprung des Problems: Ich möchte die Daten nachher mit Excel öffnen und da geht es nur mit tabulatorgetrennt, damit jeder Wert eine eigene Zelle erhält.

Danke für Eure Starthilfe!

Gruss
Lasso

Caddata
25.08.2004, 19:29:40
Ich suche ein Möglichkeit, eine .db-Datei mit mehreren kommagetrennten Werten mittels PHP in tabulatorgetrennte Werte zu verwandeln und in eine neue Datei zu schreiben

Probier mal:


str_replace(',','t',$wert);


Ich möchte die Daten nachher mit Excel öffnen und da geht es nur mit tabulatorgetrennt, damit jeder Wert eine eigene Zelle erhält.

Das ist Humbug: Excel kann natürlich auch CSV!

Greets,
marco

diver-network
26.08.2004, 08:07:10
Hi,

auch wenn ich es nicht besser kann würde ich Dich warnen, obiges Beispiel an Deinen Originaldaten auszuprobieren.

Soweit ich es sehen kann würde Dir der str_replace() Befehl sämtliche(!) Vorkommnisse eines Kommas, also auch die ursprünglich Gewünschten, durch einen Tabulator ersetzen.

Sprich: vermutlich benötigst Du, je nach Aufbau der Daten, einen regulären Ausdruck. Hierfür bin ich aber der falsche Ansprechpartner.

HTH,

Andy

Caddata
26.08.2004, 08:41:54
Soweit ich es sehen kann würde Dir der str_replace() Befehl sämtliche(!) Vorkommnisse eines Kommas, also auch die ursprünglich Gewünschten, durch einen Tabulator ersetzen.

Ich denke mal, das man bei einer Komma-Separierten Datei sowieso innerhalb der Feldwerte kein Kommas setzen darf.
Dann würde nämlich die Spaltenanzahl nicht mehr mit der Anzahl der Felder übereinstimmen.

Ich lass mich da aber gerne korrigieren!

Greets,
Marco

diver-network
26.08.2004, 09:21:54
Hi,

ich muß gestehen, daß Du Recht haben könntest bzw. ziemlich sicher auch hast. Auf jeden Fall sind Kommas (die innerhalb eines Textes) in einer csv- Datei sicherlich immer eine (potentielle) Fehlerquelle beim Import.

Weiß hierzu jemand näheres????

Gruß,

Andy

c4
26.08.2004, 09:24:14
Original geschrieben von Caddata
Ich denke mal, das man bei einer Komma-Separierten Datei sowieso innerhalb der Feldwerte kein Kommas setzen darf.
Dann würde nämlich die Spaltenanzahl nicht mehr mit der Anzahl der Felder übereinstimmen Stimmt. Wenn man wirklich ein Komma als Trennzeichen nutzt, dann darf das nicht im Text vorkommen.

Darum nimmt man auch eher etwas ausgefalleneres. Beispielsweise #**# oder _-_ oder so. Man sollte aber darauf achten, dass man das bei Excel auch einstellen kann. Bis zu Excel 2000 war man da leider sehr eingeschränkt. Keine Ahnung, wie's inzwischen aussieht.

yozek
26.08.2004, 14:56:38
Hallo Iasso,

zwar ist dies jetzt nicht der Post auf deine eigentliche Frage, aber warum verwendest du nicht PEAR [1] mit dem Addon für Excel.

Damit läßt es sich prima arbeiten und super Sachen anstellen!

[1] Pear Hauptseite (http://pear.php.net)

meikel (†)
26.08.2004, 18:14:08
Original geschrieben von Caddata
Probier mal:
str_replace(',','t',$wert);
Das ist Humbug:
Jou. Du meinst sicher so:
str_replace(',',"t",$wert);