Wenn ich eine CSV-Datei in Numbers öffne, konvertiert sie "hilfreich" Felder, die sie als numerisch erkennt, indem sie führende Nullen entfernt, Dinge konvertiert, die sie als Datumsangaben erkennt usw.
Angenommen , Sie geben einen UPC-Code in eine Zahlen-Tabelle 005566778899 ein . Numbers konvertiert diesen automatisch in 5566778899 . Das würde ich nicht wollen ...
Doch die Art und Weise ich Zahlen verwenden, ich öffne Datenbanken mit Tausenden von UPC - Codes mit vorangehenden Nullen. Einige von ihnen enthalten auch Daten, die Numbers ebenfalls neu formatieren. Grundsätzlich möchte ich keine dieser Funktionen, sondern möchte, dass meine Inhalte in Ruhe gelassen werden.
Wie kann ich Numbers dazu bringen, meine Daten beim Öffnen einer CSV-Datei intakt zu lassen?
Das Konvertieren der Felder in Text nach dem Import hilft nicht, da die Daten bereits mit ...
quelle
Antworten:
Wenn ein Feld in einer CSV-Datei mit einem Apostroph (
'
) beginnt , behandeln sowohl Excel als auch Numbers das Feld als Text und rendern es nicht mit einer numerischen Formatierung.Ihre CSV-Dateien scheinen zu versuchen, das Rendern von Text durch das Einschließen von Zahlenfeldern in doppelte Anführungszeichen zu erzwingen, aber Numbers und Excel scheinen nicht den Hinweis zu verstehen, dass doppelte Anführungszeichen als Zeichenfolgen behandelt werden sollten. Der Trick scheint darin zu bestehen, die CSV-Dateien so zu ändern, dass sie den Trick "beginnt mit einem einzelnen Apostroph" anstelle des Tricks "in doppelten Anführungszeichen enthalten" für numerische Felder verwenden, aber die doppelten Anführungszeichen für Textfelder mit Interpunktion (einschließlich Kommas) beibehalten. Anführungszeichen, Zeilenumbrüche usw.).
Um Ihre CSV-Dateien zu verarbeiten, können Sie eine Automator-Anwendung erstellen.
Erstellen Sie in Automator eine neue Anwendung.
Es wird eine einzige Aktion geben: Shell-Skript ausführen (Eingabe als Argumente übergeben). Hier ist das Skript:
Speichern Sie die resultierende Anwendung auf Ihrem Desktop. Löschen Sie alle CSV-Dateien, die Sie in Numbers verwenden möchten, auf dem Anwendungssymbol. Sie werden konvertiert, sodass Numbers die Zahlen in den Feldern als Literalzahlen beibehalten und nicht formatieren oder Informationen wegwerfen sollte.
Sichern Sie Ihre Daten, bevor Sie dies versuchen. Es ist möglich, dass eine besonders seltsam konstruierte Zeichenfolge in einem Datensatzfeld die Ergebnisse hier beeinträchtigt.
quelle
Im Folgenden erfahren Sie, wie Sie mit führenden Nullen umgehen . Ich denke, bei Ihrer Frage geht es mehr um die Formatierung von Zellen als um die automatische Korrektur.
Wie bereits erwähnt, ist die Autokorrekturfunktion selbst ein Systemelement und muss in den Systemeinstellungen deaktiviert werden.
quelle
Huzzah, dank dieser und anderer Antworten gibt es jetzt eine Methode mit den folgenden Vorteilen:
Der Trick besteht darin, nicht jedem Feld ein Apostroph voranzustellen oder in doppelte Anführungszeichen zu setzen, sondern ein Präfix mit
="
und ein Suffix mit"
. Beim Import behandelt Numbers den Feldinhalt als Zeichenfolge und beim Export werden Präfix und Suffix gelöscht.Hier ist ein praktischer Einzeiler, der eine Datei mit dem Namen vorverarbeitet
my.csv
:Das erste
sed
setzt="
am Anfang jeder Zeile, ändert jedes Komma in",="
und beendet dann jede Zeile mit"
. Der zweite entferntsed
dann alle leeren Felder, weil Numbers daran erstickt. Schließlich wird eine Datei mit dem Namen geschriebentmp.csv
, die doppelt angeklickt oder übergeben werden kannopen
, um sie in Numbers zu importieren.In der Praxis werden dadurch alle Felder mit Kommas beschädigt. Es ist vielleicht besser, nur die Felder zu umbrechen, die mit Zahlen beginnen, aber dann müssen Sie mit dem Anfang und Ende jeder Zeile und Ihrer Version der regulären Ausdrücke vorsichtig sein. Dies funktioniert unter macOS:
Das heißt, passen Sie den Zeilenanfang oder ein Komma, eine Ziffer und dann eine beliebige Anzahl von Zeichen an, die keine Kommas sind, dann das Zeilenende oder ein anderes Komma. Ersetzen Sie durch den gleichen Anfang und das gleiche Ende, aber mit dem mittleren Bit, das in
="
und eingewickelt ist"
.quelle