Wie bringe ich Excel dazu, meine CSV- Datei zu importieren ?
Datei
Ich habe eine Datei, die behauptet, CSV zu sein. Es enthält 10 Felder, die in doppelte Anführungszeichen gesetzt sind (ja, sogar Datum und Nummer). 2 oder 3 dieser Felder enthalten Kommas . Daten in diesen Feldern sind jedoch auch von Anführungszeichen umgeben.
Problem
Wenn ich versuche, diese Datei zu öffnen, ignoriert Excel die Anführungszeichen vollständig und geht davon aus, dass sie Teil der Daten sind.
Daher werden die Felder, die Kommas enthalten, in mehrere Spalten aufgeteilt.
Das ist schlecht, zumindest für mich.
Beispieldaten
20051, 2009 Sep 30 02:53:23, SOMETEXT, 5000, 2000000, 2008 - 99999 - -99999, 2008 - Unk - Unk, 191 - SOMETEXT - SOMETEXT, 192 - SOMETEXT - SOMETEXT, 193 - SOMETEXT - SOMETEXT, 194 - SOMETEXT - SOMETEXT, 195 - SOMETEXT - SOMETEXT, 196 - SOMETEXT - SOMETEXT ", 45 - SOMETEXT - 140 - SOMETEXT - SOMETEXT, 141 - SOMETEXT - SOMETEXT " "20052", "SOMETEXT", "2009 Sep 08 07:56:50", "SOMETEXT", "50000", "5000000", "2007 - 99999 - 99999", "146 - SOMETEXT - SOMETEXT, 145" - SOMETEXT - SOMETEXT, 147 - SOMETEXT - SOMETEXT, 148 - SOMETEXT - SOMETEXT "," 103 - SOMETEXT - SOMETEXT, 1131 - SOMETEXT - SOMETEXT "
Was habe ich versucht?
Ich habe die Importfunktion verwendet, um Trennzeichen und dergleichen anzugeben, aber dies scheint nicht zu helfen.
Ich habe versucht, "Text Delimiter" von einem doppelten Anführungszeichen auf "{none}" und wieder zurück zu setzen. Dies scheint nur die erste Spalte zu betreffen. Dies wäre nicht ohne Grund möglich, wenn Sie auf die anderen Spalten klicken und diese Einstellung auf jede anwenden könnten. Dies ist jedoch nicht der Fall, und es scheint, dass dies spaltenübergreifend funktionieren soll.
Was kann ich noch probieren?
quelle
Antworten:
Ich habe gerade einen kurzen Test versucht, der Ihr Problem reproduzierte.
Ich habe eine einzeilige CSV-Datei in Word (die intelligente Anführungszeichen verwendet) als test.csv „123“, „4,5,6“ erstellt und sie wurde wie beschrieben in Excel geöffnet.
Versuchen Sie, "und" durch "zu ersetzen.
Nachdem ich mit Ihrem Sample gespielt habe, stelle ich fest, dass Excel die Leerzeichen zwischen den Feldern nicht mag
zB statt
Sie wollen
Ein anständiger Ersatz für reguläre Ausdrücke sollte damit umgehen können
(Pipe-Zeichen nur für visuelle Hinweise)
Oder ändern Sie einfach den .Net-Code, wenn Sie Zugriff darauf haben ;-)
Wie Arjan betonte, müssen Sie möglicherweise auch die Datei von UTF-8 nach ANSI konvertieren, um zu verhindern, dass Zelle A1 die Stückliste und die zugehörigen Qouten enthält.
Ich bin auf den Catch 22 von ANSI-codiertem CSV gestoßen, der keine internationalen Zeichen verarbeitet, und auf UTF-codiertes CSV, das nicht von Excel verarbeitet wird. und keine Lösung gefunden, während die CSV gewartet wird. Wenn internationale Zeichenunterstützung erforderlich ist, scheinen die XML-Formate (oder nativen XLS-Formate) der einzige Weg zu sein - auf Kosten der Einfachheit.
quelle
Dieses Problem plagt mich seit einigen Jahren. Ich habe gerade die Lösung entdeckt und sie ist in den obigen Antworten erwähnt, aber nicht explizit dargelegt.
Es ist das Leerzeichen nach dem Komma!
Dies wird nicht in Excel importiert.
Während
Funktioniert!
quelle
Sie können auch CSVEd ausprobieren, das kostenlos ist.
quelle
Wenn Sie nicht aus Versehen Smart-Anführungszeichen wie lumbarius vorgeschlagen , und vorausgesetzt , Sie unter Windows sind: dass möglicherweise aufgrund Ihrer regionalen Einstellungen sein. Wenn Sie doppelklicken oder Datei »Öffnen verwenden, werden Sie von Excel nicht nach Details gefragt, sondern es werden einfach diese Einstellungen verwendet.
Trotzdem sollte das manuelle Aufrufen der Importfunktion (wie Sie es getan haben) funktioniert haben, daher bezweifle ich, dass das Ändern der regionalen Einstellungen hilfreich sein wird ...
quelle
Haben Sie die Zeichenkodierung Ihrer Datei überprüft? Versuchen Sie, die Zeichenkodierung auf UTF-8 einzustellen.
Sie können notepad2 verwenden , um die Zeichenkodierung zu ändern.
quelle
Fügen Sie hier nur die Antworten hinzu: Konzentrieren Sie sich in Ihren CSV-Dateien auf die SPACES nach dem COMMAS. Excel mag diese nicht, wenn Sie Felder in Ihren Daten zitiert haben.
Excel-Likes (4 Datenspalten):
Mag aber nicht (3 Datenspalten):
Es gefällt (3 Datenspalten):
quelle
Ich bin heute auf dieses Problem gestoßen und habe auch eine Lösung gefunden, die für mich funktioniert.
Meine Umgebung / mein Kontext: Ich habe eine Webseite mit einigen (Formular-) Fragen, die sowohl doppelte Anführungszeichen als auch Kommas enthalten. Sowohl die Fragen als auch die Antworten werden aus der Datenbank entnommen und zu Berichtszwecken in eine Excel-Datei geschrieben.
Ich hatte das gleiche Problem wie oben beschrieben: Die Fragen, die sowohl doppelte Anführungszeichen als auch Kommas enthielten, wurden in Excel in mehrere Spalten aufgeteilt.
Für meine Zwecke hat die Verwendung von zwei einfachen Anführungszeichen anstelle eines doppelten Anführungszeichens den Trick getan.
-> Auf der Website sehen zwei einfache Anführungszeichen für Site-Besucher wie ein doppeltes Anführungszeichen aus
-> In der Excel-Datei sehen zwei einfache Anführungszeichen für Benutzer, die die Berichtsdaten anzeigen, wie doppelte Anführungszeichen aus
Mir ist klar, dass diese Lösung nicht für alle funktioniert, aber hoffentlich hilft sie jemandem.
quelle
Ich konnte dies mit:
was vier Spalten ergibt:
quelle
Eine andere Art, es zu tun:
Auf diese Weise können Sie die richtige Codierung wie UTF-8 festlegen, die in vielen (allen?) Versionen von Excel ohne Stückliste nicht korrekt verarbeitet werden kann, und Sie müssen sich keine Gedanken über eine Regex machen, die möglicherweise Text innerhalb des Feldes und ersetzt du merkst es nicht.
quelle