Wie konventiert man in Exel Dateien bei einer CSV alle | durch ; ?

son gohan

Erfahrenes Mitglied
Hi an alle, sagt mal wie kann ich in einer CSV Datei die ich mit Exel öffne alle | durch ; ersetzen.

Ich hab da nämlich eine Produktdatenbank wo alle Datensätze durch | getrennt sind und daher die ganze Datei für mich schlecht zu lesen ist, mir wäre lieber wenn die mit : getrennt sind, damit alle Werte durch Spalten getrennt angezeigt werden.
 
Hey wartet Leute habe das ganze eben mit Ersetzen durch hinbekommen, denke das war auch die richtige Formel, aber mein Problem wird dadurch nicht gelöst, ich will nämlich alle Datensätze per Spalten verteilt haben, zur Zeit sind die aber alle in einer Spalte aufgehäuft, ich will es auch mal an ein Beispiel erklären.

+---------------------------+
id name url
2 auto www
+---------------------------+

Also wenn ich jetzt mit der Maus auf die Spalte url klicke dann will ich auf alle Werte in der Spalte zugreifen oder markieren können, zur Zeit geht das aber nicht, weil die sich nicht markieren lassen und alle in einer Spalte sind.

Mist ist das schwer zu erklären ohne Fachwissen :mad:
 
Hai,

son gohan hat gesagt.:
Also wenn ich jetzt mit der Maus auf die Spalte url klicke dann will ich auf alle Werte in der Spalte zugreifen oder markieren können, zur Zeit geht das aber nicht, weil die sich nicht markieren lassen und alle in einer Spalte sind.

Denn Satz hab ich beom besten Willen nicht verstanden ? :(

Häng doch mal eine Beispieldatei an.

Ciao Stefan
 
Mist hab ich mir schon gedacht das das keiner Raft.


Also ich versuchs aber nochmal, für Bilder zeichen usw. hab ich irgendwie echt keine Nerven, sorry.

CSV Datei, alle Datensätze so aufgebaut:

234 | auto | schönes auto mit schiebedach | ww.auto.de | http://www.bild.de

So wir sehen nun die einzelnen "Spaltenwerte" im Datensätze sind durch | getrennt.

Wenn ich das ganze aber in Exel aufrufe, dann habe ich ja normal meine Spalten A -Z, und der Datensatz den ich da als Beispiel habe müsste ja so aufgeteilt werden:

234 --> zur Spalte A
auto --> zur Spalte B
naja usw....
Aber wenn ich die Date in Exel aufrufe, dann wird es nicht so dargestellt, sondern alle Werte werden in die Spalte A gesetzt, wenn ich auf B klicke, dann ist da nichts drine und das will ich anders haben. Ich will das es aufgeteilt wird.



So, dann hab ich aber noch andere CSV Dateien wo das ganze so aufgebaut ist:

234 ; auto ; schönes auto mit schiebedach ; ww.auto.de ; http://www.bild.de

Also mit Semikolon getrennt die einzelnen Werte im Datensatz, ja und wenn ich die Datei in Exel öffne dann wird auch alles schön in den Spalten aufgeteilt, so wie es sein soll.

Und um die andere Datei auch so hinzubekommen nimmt man natürlich PHP und str_replace und ersetzt alle | durch ;.

Schön und aufwendig, aber jetzt hat mir ein schlauer Mensch den Hinweis gegeben das man das vielleicht auch einfach in Exel Programm so machen kann das die Datei mit | auch aufgeteil wird in Spalten und das wollte ich jetzt hier erfahren ob und wie das geht.
 
Hai,

Lösung 1 : Die CSV - Datei in eine *.TXT - Datei umbenennen und dann mit Excel öffnen. Dabei wird gefragt welches Zeichen als Trennzeichen verwendet wird. Dann einfach deinen Strich eingeben . Fertig !
(Wird das beim Einlesen einer CSV-Datei nicht auch abgefragt ? :( . Habe gerade keine zur Hand.)

Lösung 2 : Über die Funktionen RECHTS und LINKS deinen langen Datensatz korrekt aufteilen. (Formel bei Bedarf wenn Variante 1 nicht funktioniert. ;-) )

Ciao Stefan
 
Ok, danke, ich schau mal und meld mich wieder bei konkreten Erklärungen zum Problem, falls es noch auftritt, schönen Abned, :)
 
hallo, hm, hab es mal ausprobiert so aber am Erscheinungsbild ändert es nichts. Die Datensätze bleiben in einer Spalte aufgeteilt. :)
 
Hai,

einfache Lösung, wenn dein "Datensatz" immer die gleiche Aufteilung hat :

Daten in A1, dann in B1 =TEIL(A1;1;3) ergibt 234
in C1 =TEIL(A1;7;4) ergibt auto

wenn die "Datensätze" nicht den gleichen Aufbau haben, die Längen zwischen den Strichen sind ungleich, dann über =FINDEN("|";A1;1) die Position des ersten Striches bestimmen, dann die 1 durch die gefundenen Position ersetzen und die 2. Position bestimmen und so weiter.
Danach kannst du diese Zahlen in die =TEIL(A1; XX ; XX) Funktion einsetzen und erhälst eine Aufteilung. Die Leerzeichen vor und nach dem Strich und den Strich entsprechen berücksichtigen.

Ciao Stefan
 
Zurück