Excel platziert nur Anführungszeichen um bestimmte Felder. Wie kann ich Excel zwingen, eine CSV-Datei mit Anführungszeichen um jede Spalte zu speichern?
Excel platziert nur Anführungszeichen um bestimmte Felder. Wie kann ich Excel zwingen, eine CSV-Datei mit Anführungszeichen um jede Spalte zu speichern?
Antworten:
Wenn Sie die XLS-Datei in LibreOffice oder OpenOffice öffnen, dann Speichern unter ... und Text CSV auswählen, wird eine CSV-Datei generiert, die auch Anführungszeichen als Begrenzer enthält. ZB: "Smith", "Pete", "Canada", "Jones", "Mary", "England"
Aktivieren Sie einfach das Kontrollkästchen "Alle Textzellen zitieren":
Um auch numerische Felder in Anführungszeichen zu setzen, markieren Sie Ihren Zellbereich und ändern Sie die Zellformatierung vor dem Speichern in "Text".
Diese Seite hat auch die Lösung, die direkt aus dem Maul des Pferdes kommt:
http://support.microsoft.com/kb/291296/en-us
Wenn sich der Link verschlechtert, lautet das zu suchende Thema:
"Exportieren einer Textdatei mit Komma- und Anführungszeichen in Excel" und / oder "Q291296"
tl; dr: benutze ihr Makro
Ich fand diese einfache Lösung:
"''"@"''"
(Details siehe unten)Die Zeichenfolge, die Sie einfügen, ist "''"@"''"
das doppelte Anführungszeichen, das einfache Anführungszeichen, das einfache Anführungszeichen, das doppelte Anführungszeichen, das doppelte Anführungszeichen, das einfache Anführungszeichen, das doppelte Anführungszeichen.
Bearbeitet für Excel 2010 aus den hier gefundenen Informationen .
\"@\"
Powershell scheint richtig zu entleeren. so etwas wie
Suchen Sie unter Windows nach powershell.exe, wenn Sie powershell nicht kennen.
import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
Hoffe es hilft jemandem.
import-csv Myfile.csv | export-csv Myfile_quoted.csv -NoTypeInformation -Encoding UTF8
. Denken Sie daran, Dateinamen mit Leerzeichen oder anderen Sonderzeichen in einfache Anführungszeichen zu setzen.
Dies war für mich das Einfachste: Ich habe die Tabelle in Access 2010 importiert und von dort als begrenzte Textdatei exportiert. Hat mir die Anführungszeichen um meine Felder gegeben. Dauert weniger als eine Minute für 42.000 Zeilen, jetzt, wo ich die Schritte nach unten habe.
Ich habe eine andere Arbeit gefunden, bei der das VBA-Makro nicht zum Einsatz kommt, für die jedoch Notepad ++ oder ein ähnlicher makrobasierter Texteditor erforderlich ist.
Exportieren Sie Ihre Datei als tabulatorgetrennten Text und öffnen Sie die exportierte Datei in Notepad ++. Ersetzen Sie alle Instanzen des Tabulatorzeichens durch den Text "," (dh wörtlich doppelte Anführungszeichen, Komma, doppelte Anführungszeichen) und verwenden Sie dann ein anderes Makro, um jeder Textzeile ein doppeltes Anführungszeichen voranzustellen und ein Suffix zu setzen.
Ein bisschen abgedreht, aber ich fand es schneller, als ein VBA-Makro zum Laufen zu bringen.
Markieren Sie die Zellen, denen Sie die Anführungszeichen hinzufügen möchten. Gehen Sie zu Format -> Zellen -> Benutzerdefiniert, und kopieren Sie Folgendes in das Feld Typ: \ "@ \" Klicken Sie auf "OK". Seien Sie froh, dass Sie nicht alles von Hand gemacht haben.
Von: http://www.lenashore.com/2012/04/wie-zum-addieren-Angebote-zu-Ihren-Zellen-inExcel-Automatisch/
"''"@"''"
(Details siehe unten)' '
(wiederholte einfache Anführungszeichen) durch "
(doppelte Anführungszeichen);
Wenn Sie Notepad ++ zum Hinzufügen von Anführungszeichen am Anfang jeder Zeile verwenden, öffnen Sie einfach die exportierte CSV-Datei, setzen Sie den Cursor auf die erste Zeile und die erste Spalte und klicken Sie im Feld ' Text zum Einfügen ' auf das Menü Bearbeiten / Spalteneditor. Geben Sie "ein , und am Anfang jeder Zeile befindet sich ein Anführungszeichen. Anschließend können Sie mithilfe eines regulären Ausdrucks alle Registerkarten suchen / ersetzen.
Für Windows Benutzer
Beachten Sie, dass dies nicht dasselbe Tastaturzitat ist, das eine Vorwärts- und Rückwärtsvariante aufweist.
Wenn Sie also CSV zum LADEN in eine MySQL-Tabelle verwenden, schneiden Sie diese aus und fügen Sie sie in den ENCLOSED-Parameter ein. Andernfalls werden Sie sich fragen, warum Sie eine Meldung erhalten#1083 - Field separator argument is not what is expected
Ich habe den folgenden Ansatz verwendet, um drei Spalten in Excel zu verwenden und die Zeichenfolge in der vierten Spalte zu erstellen.
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
Mein Problem mit dem "''"@"''"
Ansatz ist, dass die zweite Spalte meiner Daten eine Zahl war, bei der der "''"@"''"
Ansatz nichts mit den Zahlen zu tun hatte. Manchmal ist die zweite Spalte leer, aber ich musste sicherstellen, dass sie in der endgültigen Textdatei dargestellt wurde.
Eine andere Möglichkeit, wenn Sie MS-Zugriff haben (ich habe ver 2007), importieren Sie die Datei und exportieren Sie sie als Textdatei. Ändern Sie dann den TXT in CSV. Beachten Sie, dass alle Zahlenfelder keine doppelten Anführungszeichen enthalten. Wenn Sie also auch doppelte Anführungszeichen für die Zahlen benötigen, ändern Sie in Access das Feld von einem Zahlenfeld in ein Textfeld.
Das Exportieren von durch Kommas getrennten und in Anführungszeichen gesetzten Zeichenfolgen kann nur mit Excel 2016 und Notepad erfolgen. Dabei werden eine Kopie der Daten, eine Formel, ein Export, eine Änderung der Dateieigenschaften, ein Ersatz in Notepad, das Speichern der exportierten Datei und eine Bereinigung verwendet. Jeder ist ein einfacher Schritt. Im Detail:
Kopieren Sie die zu exportierenden Spalten in ein neues Zwischenblatt, um das Original und die Sicherungskopie zu erhalten. Das neue Blatt wird später gelöscht, damit die Tabelle unverändert bleibt.
Fügen Sie ansonsten nicht vorkommende Zeichen ein, sagen Sie '#' oder ';-)' an jedem Ende einer Zeichenkette in der Spalte und sagen Sie A mit der Formel =concat("#",trim(A1),"#")
, wobei Sie die Formel in alle Zeilen einer anderen Spalte einfügen.
Kopieren Sie die neue (n) Spalte (n) mit der Methode '123' wieder über A ..., damit die Formel nicht übertragen wird.
Exportieren Sie das Blatt als CSV-Datei, um die Kommas zwischen Feldern einschließlich Zahlen einzufügen.
Ändern Sie die file.csv-Eigenschaften so, dass sie mit Notepad geöffnet werden können.
Verwenden Sie den Editor, um beliebige Zeichen durch "" zu ersetzen.
Während es sinnvoll erscheint, "" als willkürliches Zeichen zu verwenden, muss es in eine andere Zelle gestellt werden, z. B. "$ A $ 50", und dann wird beim Export "" "" angezeigt, anscheinend ein weiterer unbequemer Auslöser.
Im Editor sollte die Datei gespeichert und als * .txt-Datei importiert und die Zwischendatei * .csv gelöscht werden.
Mit Bereinigung des zusätzlichen Arbeitsblatts ist die Mission erfüllt.
Möglicherweise können die Access-Exporttools eines Tages in Excel eingebettet werden. Ein allgemeinerer Ansatz unter den Programmen, die Ausschneiden und Einfügen verwenden, wäre, dass die Einfügeoptionen eine Auswahl von Möglichkeiten enthalten, die Ausgabestruktur zu interpretieren und Begrenzer bereitzustellen.
Michaels Antwort vom 21. August 2014 ist wirklich hilfreich. Ich musste jedoch einen oder zwei zusätzliche Schritte ausführen:
Das ist mein Rezept. Ich hasse es, das tun zu müssen, aber ich hatte keinen besseren Weg. In meinem Fall erhalte ich keine Anführungszeichen für ein Feld. Ich musste auch UTF-8-Codierung verwenden und; Anstelle von Tabulatoren habe ich dies beendet.
ANMERKUNG: Aufgrund der Möglichkeit, doppelte Anführungszeichen in einfache Anführungszeichen usw. zu setzen, habe ich absichtlich die Tastaturformatierung verwendet, um sowohl Tastenanschläge als auch literale Zeichen und Zeichenfolgen anzugeben.
Ich bin schon oft auf dieses Problem gestoßen. Hier ist die einfachste Lösung, die ich mir ausgedacht habe.
In Access können Sie das exportierende Trennzeichen als Komma und qualifizierende Textfelder mit Anführungszeichen angeben. Im Export-Assistenten können Sie das gewünschte Trennzeichen oder Zeichen für Zeichenfolgen angeben.
Möglicherweise müssen Sie eine Access-Abfrage erstellen, um die Felder in einer bestimmten Reihenfolge anzuordnen oder das von Access hinzugefügte Auto-ID-Feld auszublenden.
Auch ... nach dem Export in eine CSV-Datei NICHT mehr in Excel öffnen. Wenn Sie die Ergebnisse anzeigen möchten, öffnen Sie sie im Editor. Excel neigt dazu, mit den Daten einer CSV zu verwechseln. Ich glaube, es waren Felder, die mit führenden Nullen aufgefüllt wurden, wenn ich mich richtig erinnere.
So verwenden Sie die OpenOffice-App, um eine Excel-Tabelle zu erstellen und eine Textdatei (CSV) mit Anführungszeichen um jedes Textfeld zu erstellen.
Öffnen Sie die Excel-Datei mit OpenOffice und führen Sie die folgenden Schritte aus:
Datei> Speichern unter
Geben Sie einen neuen Namen für die zu erstellende Datei ein
Wählen Sie als Dateityp "Test CSV (.csv)"
aktiviere das Kontrollkästchen "Filtereinstellungen bearbeiten"
Klicken Sie auf "Speichern"
wähle "Aktuelles Format beibehalten"
Feldbegrenzer sollte ein Komma sein:,
Textbegrenzer sollte ein Anführungszeichen sein: "
Aktivieren Sie das Kontrollkästchen "Alle Textzellen zitieren"
OK klicken"
Das hat bei mir funktioniert!