Excel 2010, CSV Import, Pluszeichen"fehler"

Quakfrosch

Lieutenant
Registriert
Juni 2006
Beiträge
993
Hi,
ich hab mittlerweile zwei Stunden gegoogled und keine ausreichende Lösung gefunden, daher versuche ich mal hier mein Glück.

Ich habe eine CSV Datei, die ich mit Python erstellen lasse. In dieser gibts es momentan zwei Spalten.
In der ersten Spalte steht ein Ordnername, in der Zweiten ein String, sprich irgendein Name.

Mein Problem ist, dass ich Ordner habe, die mit einem '+' Zeichen anfangen und Excel mir beim Öffnen als CSV einen Fehler erzeugt.
Der Fehler ist "ungültiger Name" bzw #NAME?.

Ich habe durch das googlen schon rausbekommen, dass ich entweder die entsprechende Zelle als Text formatieren oder ein Hochkomma vor das +-Zeichen setzen kann.

Ich möchte nun aber, dass ich die CSV ins Excel lade und nicht mehr bearbeiten muss.

- Die Ordnernamen müssen so bleiben, ich kann statt dem + kein anderes Zeichen nutzen!
- Ich kann nicht auf allen Rechnern, die die CSV öffnen sollen ein Makro installieren
- Auch will ich nicht jedem beibringen müssen, erst die Formatierung der ersten Spalte auf Text umzustellen, um die Ordnernamen sehen zu können.
- Ich kann allerdings im Pythonscript ein wenig am zu speichernden Format der CSV schrauben.

Die Möglichkeit mit dem Hochkomma vor den entsprechenden Ordnernamen finde ich eigentlich schon recht praktisch, es funktioniert aber nur, wenn ich in Excel das Hochkomma in die entsprechende Zelle setze( " + Ordnername" -> " '+ Ordnername").
Dann sehe ich den Ordernamen richtig, ohne Hochkomma am Anfang.
Erzeuge ich die CSV und stelle jedem der +-Ordner ein Hochkomma voran, zeigt mir Excel zwar den Ordnernamen an, aber mit dem Hochkomma.

Wie muss ich die CSV nun formatieren, dass Excel die Ordnernamen mit führendem + anstandslos anzeigt oder wie muss ich das +-Zeichen escapen?

Ich hoffe, ich konnte es so beschreiben, dass man mein Problem versteht, ansonsten fragt, ich erkläre es gern anders/nochmal/besser.
 
Es gibt einen CSV-Standard (unter verschiedenen), der sagt, dass Strings in Anführungszeichen (ASCII 34) gesetzt werden und Zahlen nicht. Das könnte Erfolg bringen.
 
Danke, hab ich versucht, sowohl mit " als auch mit ' (Hochkomma). Beide Varianten werden zwar importiert, aber bei den Fällen mit + am Anfang des Zelleninhaltes trotzdem mit dem Fehler #NAME? zurückgewiesen. Es kommt also das Gleiche raus.
 
Moin,

irritierend ...

Und bei Textimport-Assistenten Schritt 2 hast du als Textqualifizierer das " eingestellt? Und bei Schritt 3 die entsprechende Spalte auch als "Text" und nicht als "Standard" qualifiziert?
 
Hey,
hab jetzt schon einige Kombinationen durch, bei den meisten hab ich dann ein " oder ' vorne oder hinten am String zuviel bzw den Fehler.
Der einzige Kompromiss, den ich bisher gefunden hab und mit dem ich leben könnte wäre vorne 2x " und hinten 1 " (""+ Ordnername").
Dann bekomme ich zwar keinen Fehler mehr angezeigt, aber am Zellenende ist ein " zuviel. Sieht hässlich aus, aber die Sortierung stimmt dann wenigstens.
Bei OpenOffice soll das übrigens tadellos funktionieren... :grr:

Was meinst du mit Importassistent?
Ich öffne die CSV ganz normal per Öffnendialog, da kommt kein Assistent...
 
Ich sehe gerade, dass dieses Thema in meinem Blog (Excel-ist-sexy.de) noch eine Baustelle ist. Da werde ich heute noch dran gehen, die Gelegenheit ist zu verlockend ;).

So, damit ich dir evtl. gezielt helfen kann: Stelle hier einmal eine Musterdatei mit wenigen Zeilen (max. 100) "+Pfad..." zur Verfügung. Am besten *.zip. Dann habe ich wenigstens eine Grundlage, auf der ich herumprobieren kann, obwohl ich mir sicher bin, dass das mit dem Importassi hinhaut..
 
Ich denke mal, das Problem liegt hierin:
Auch will ich nicht jedem beibringen müssen, erst die Formatierung der ersten Spalte auf Text umzustellen, um die Ordnernamen sehen zu können.
Statt deiner 3 Anführungszeichen sollte übrigens auch nur ein einzelnes Anführungszeichen oder Hochkomma oder sonst irgendwas hinten genügen, was Excel die Formatierung automatisch auf Text umstellen lässt.

Ich hätte dir zunächst vielleicht mal zur TEXT-Formel geraten, geht aber nicht, da die ein zweites Argument braucht, was wegen dem Semikolon nicht geht.
Sollte es wirklich nur um die Anzeige gehen, so würe ich einfach an den Beginn der Zelle ein Leerzeichen einbauen. Sieht man nicht großartig und sollte auch eine evtl. Sortierung nicht beeinträchtigen*.

*Es sei denn, du hast Ordnernamen, die nur aus Ziffern bestehen, da würde Excel wieder eine Zahl draus machen.
 
So, letzter Versuch der speziellen Hilfe ...

Wenn deine DAUs mitmachen: DU erzeugst die Exportdatei so:
Code:
="+D:\Daten\Filename.ext\";12345;"IrgendEinText"
und speicherst das Ganze dann mit der Extension *.txt ab. Dann landest du nämlich beim öffnen der Datei automatisch im Import-Assi. Immer schön OK und das sollte dann hinhauen ...
 
Zuletzt bearbeitet:
Danke, so funktionierts. Ist zwar nicht hübsch in der CSV, weils bei mir als
Code:
"=""+name";123;"irgendetwas"
erzeugt wird, aber es wird wie gewünscht automatisch in Excel richtig angezeigt.
Sollte ich das noch weiterverarbeiten wollen kann ich die Scripte ja anpassen :)

Als *.txt speichern komme ich zwar an den Assistenten, aber die Lösung war das = am Anfang.
Den Assistenten brauch ich dann nichtmal.

Danke fürs helfen!
 
Zurück
Oben