Wie erzwinge ich, dass Excel alle Spalten einer CSV-Datei zitiert?
Excel platziert nur Anführungszeichen um bestimmte Felder, wie erzwinge ich, dass Excel eine CSV-Datei mit Anführungszeichen um jede Spalte speichert?
Excel platziert nur Anführungszeichen um bestimmte Felder, wie erzwinge ich, dass Excel eine CSV-Datei mit Anführungszeichen um jede Spalte speichert?
Wenn Sie die XLS-Datei in LibreOffice oder OpenOffice öffnen, dann Speichern unter…..und Text CSV wählen, können Sie eine CSV-Datei erzeugen, die auch Anführungszeichen als Trennzeichen enthält. Z.B: “Smith”, “Pete”, “Kanada”, “Jones”, “Mary”, “England”
Markieren Sie einfach das Kästchen “Alle Textzellen zitieren”:
Um auch numerische Felder zu zitieren, markieren Sie Ihren Zellbereich und ändern Sie die Zellformatierung vor dem Speichern in “Text”.
Diese Seite hat auch die Lösung, die direkt aus erster Hand kommt: http://support.microsoft.com/kb/291296/en-us
Wenn der Link sich verschlechtert, ist das Thema, nach dem gesucht werden muss:
“Verfahren zum Exportieren einer Textdatei mit Komma- und Zitat-Trennzeichen in Excel” und/oder “Q291296”
tl;dr: verwenden Sie deren Makro
Ich habe diese einfache Lösung gefunden:
"''"@"''"
(Einzelheiten siehe unten) Die Zeichenfolge, die Sie einfügen, ist "''"@"''"
, die aus doppelten Anführungszeichen, einfachen Anführungszeichen, einfachem Anführungszeichen, einfachem Anführungszeichen, doppeltem Anführungszeichen, @-Symbol, doppeltem Anführungszeichen, einfachem Anführungszeichen, einfachem Anführungszeichen, doppeltem Anführungszeichen besteht.
Bearbeitet für Excel 2010 aus den gefundenen Informationen hier .
Powershell scheint korrekt zu dumpen. so etwas wie
suchen nach powershell.exe auf dem Windowsrechner, wenn Sie powershell nicht kennen.
import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8
Hoffentlich hilft es jemandem.
Markieren Sie die Zellen, in die Sie die Zitate einfügen möchten. Gehen Sie zu Format -> Zellen -> Benutzerdefiniertes Kopieren/Einfügen in das Feld Typ: \”@\” Klicken Sie auf “okay” Seien Sie froh, dass Sie nicht alles von Hand gemacht haben.
From: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/
Das war für mich am einfachsten: Ich importierte die Tabellenkalkulation in Access 2010 und exportierte sie von dort als Textdatei mit Trennzeichen. Ich habe die Anführungszeichen um meine Felder herum gesetzt. Ich brauche weniger als eine Minute für 42k Zeilen, jetzt, wo ich die Schritte nach unten habe.
Ich habe eine andere Arbeit gefunden, bei der das VBA-Makro nicht verwendet wird, die aber Notepad++ oder einen ähnlichen makrobasierten Texteditor erfordert.
Exportieren Sie Ihre Datei als tabulatorgetrennten Text, und öffnen Sie dann die exportierte Datei in Notepad++. Ersetzen Sie alle Instanzen des ‘Tab’-Zeichens durch den Text “,” (d.h. wörtlich doppelte Anführungszeichen, Komma, doppelte Anführungszeichen) und verwenden Sie dann ein anderes Makro, um jeder Textzeile ein doppeltes Anführungszeichen vor- und nachzustellen.
Etwas hackig, aber ich fand es schneller, als ein VBA-Makro zum Laufen zu bringen.
"''"@"''"
(Einzelheiten 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, die erste Spalte, und klicken Sie dann auf das Menü Bearbeiten/Spalteneditor… , im Feld ‘ Einzufügender Text’, geben Sie “ ein, dann wird der Anfang jeder Zeile mit einem Anführungszeichen versehen, dann können Sie reguläre Ausdrücke verwenden, um alle Registerkarten zu suchen/ersetzen.
Das Exportieren von durch Kommata getrennten und in Anführungszeichen gesetzten Zeichenfolgen kann nur mit Excel 2016 und Notepad durchgeführt werden, wobei eine Kopie der Daten, eine Formel, ein Export, eine Änderung der Dateieigenschaften, eine Ersetzung in Notepad, das Speichern der exportierten Datei und eine Bereinigung verwendet werden. Jeder dieser Schritte ist ein einfacher Schritt. Im Einzelnen:
Kopieren Sie die zu exportierenden Spalten in ein neues Zwischenblatt, um das Original zu erhalten und als Backup, wobei das neue Blatt später gelöscht werden muss, um das Arbeitsblatt so zu belassen, wie es war.
Setzen Sie sonst nicht vorkommende Zeichen, sagen wir ‘#’ oder ‘;-)’, an jedes Ende einer Zeichenfolge in der Spalte, sagen wir A, mit der Formel =concat("#",trim(A1),"#")
, und setzen Sie die Formel auf alle Zeilen einer anderen Spalte.
Kopieren Sie die neue(n) Spalte(n) wieder über A…, wobei Sie die Methode ‘123’ verwenden, um die Formel nicht zu tragen.
Exportieren Sie das Blatt als CSV-Datei, um die Kommas zwischen den Feldern einschließlich der Zahlen einzufügen.
Ändern Sie die Eigenschaften von file.csv, so dass es mit Notepad geöffnet werden kann.
“.
obwohl es vernünftig erscheint, ” als willkürliches Zeichen zu verwenden, muss es in eine andere Zelle gesetzt werden, sagen wir ‘$A$50’, und was dann beim Export erscheint, ist ‘ “. ”
im Merkzettel sollte die Datei gespeichert werden, so dass sie als *.txt-Datei importiert und die Zwischendatei *.csv gelöscht werden kann.
Mit der Bereinigung des zusätzlichen Tabellenkalkulationsblatts ist die Mission erfüllt.
Vielleicht 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 zur Interpretation der Ausgabestruktur und zur Bereitstellung von Trennzeichen enthalten.
Eine andere Möglichkeit, wenn Sie über MS-Zugang verfügen (ich habe ver 2007), besteht darin, die Datei zu importieren und sie dann als Textdatei zu exportieren. Ändern Sie dann die .txt-Datei in .csv. Beachten Sie, dass alle Zahlenfelder keine doppelten Anführungszeichen enthalten. Wenn Sie also auch doppelte Anführungszeichen um die Zahlen herum benötigen, ändern Sie in Access das Feld von einem Zahlenfeld in ein Textfeld.
Für Windows-Benutzer
Beachten Sie, dass dies nicht dasselbe Tastaturzitat ist, das vorwärts und rückwärts variiert.
Wenn Sie also CSV zum LADEN in die Mysql-Tabelle verwenden, schneiden Sie aus und fügen Sie in den Parameter ENCLOSED ein, sonst werden Sie sich fragen, warum Sie die Meldung #1083 - Field separator argument is not what is expected
erhalten
Ich habe den folgenden Ansatz verwendet, um drei Spalten in Excel zu nehmen 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, die "''"@"''"
-Ansatz nichts mit den Zahlen machte. Manchmal ist die zweite Spalte leer, aber ich musste sicherstellen, dass sie in der endgültigen Textdatei dargestellt wurde.
Dies ist mein Rezept. Ich hasse es, das tun zu müssen, aber ich hatte keinen besseren Weg. In meinem Fall bekomme ich auf keinem Gebiet Zitate. Ich musste außerdem UTF-8-Kodierung und ; anstelle von Tabulatoren verwenden, also habe ich damit aufgehört.
NOTE: wegen der Unleserlichkeit, doppelte Anführungszeichen in einfache Anführungszeichen zu setzen usw., habe ich absichtlich “Tastaturformatierung” verwendet, um sowohl Tastenanschläge als auch Buchstaben und Zeichenketten anzuzeigen.
Im Folgenden erfahren Sie, wie Sie mit der OpenOffice-Anwendung eine Excel-Tabelle nehmen und eine Textdatei (csv) mit Anführungszeichen um jedes Textfeld erstellen.
Öffnen Sie die Excel-Datei mit OpenOffice und führen Sie dann folgende Schritte aus:
Datei > Speichern unter
Geben Sie einen neuen Namen für die Datei an, die Sie erstellen möchten
Wählen Sie für Dateityp “CSV testen (. csv)”
aktivieren Sie das Kontrollkästchen “Filtereinstellungen bearbeiten”
klicken Sie auf “Speichern”
wählen Sie “Aktuelles Format beibehalten”
Das Feldtrennzeichen sollte ein Komma sein: ,
Textbegrenzer sollte ein Anführungszeichen sein: “
aktivieren Sie das Kästchen "Alle Textzellen zitieren”
klicken Sie “OK”
Dies hat bei mir funktioniert!
Ich bin diesem Thema schon oft begegnet. Hier ist die einfachste Lösung, die mir eingefallen ist:
Access ermöglicht es Ihnen, das Exportbegrenzungszeichen als Komma und qualifizierende Textfelder mit Anführungszeichen anzugeben. Im Export-Assistenten können Sie das gewünschte Trennzeichen oder Zeichen um Zeichenfolgen herum 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.
Außerdem… sollten Sie nach dem Export in eine CSV-Datei diese NICHT mehr in Excel öffnen. Wenn Sie sich die Ergebnisse ansehen möchten, öffnen Sie sie in Notepad. Excel neigt dazu, mit den Daten eines CSV durcheinander zu geraten….. Ich glaube, es waren Felder, die mit führenden Nullen aufgefüllt wurden, wenn ich mich recht erinnere.