Warum entfernt Excel führende Nullen bei der Anzeige von CSV-Daten?


9

Ich habe eine CSV-Textdatei mit folgendem Inhalt:

"Col1","Col2"
"01",A
"2",B
"10", C

Wenn ich es mit Excel öffne, wird es wie folgt angezeigt:

Beachten Sie, dass Cell A2versucht, "01" als Zahl ohne führende "0" anzuzeigen.

Wenn ich die Zeilen 2 bis 4 als "Text" formatiere, ändert sich die Anzeige in

... aber immer noch ist die führende "0" weg.

Gibt es eine Möglichkeit, eine CSV-Datei in Excel zu öffnen und alle führenden Nullen in der Datei anzuzeigen, indem Sie eine Option umdrehen? Ich möchte nicht in jeder Zelle, die eine führende Null haben sollte, '01 erneut eingeben müssen. Darüber hinaus erfordert die Verwendung eines führenden Apostrophs, dass die Änderungen in einem XLS-Format gespeichert werden, wenn CSV gewünscht wird. Mein Ziel ist es einfach, Excel zu verwenden, um den tatsächlichen Inhalt der Datei als Text anzuzeigen, ohne dass Excel versucht, mir Formatierungsvorteile zu verschaffen.


Der einzige Weg, wie ich das herausgefunden habe, ist mühsam, scheint aber zu funktionieren. Kopieren Sie es und fügen Sie es in ein neues Blatt ein. Stellen Sie den gesamten eingefügten Bereich auf das Format "Text" ein, löschen Sie ihn und fügen Sie die Werte erneut ein. Bob ist deine Tante.

3
(Für unsere Benutzer außerhalb Großbritanniens ist "Bob's your aunty" eine Redewendung, die lose mit "and you are set" übersetzt wird.)
iglvzx

Robert war nicht meine Tante. :-) Ich dachte, ich hätte schon früher Erfolg damit, aber es hat nicht funktioniert. Versuch es. Was mich verwirrt hat, ist, warum das Formatieren der Zelle als Text nicht dazu führt, dass der Wert "02" mit einer führenden 0 linksbündig angezeigt wird.
Chad

1
Wenn die CSV nur für Excel ist, können Sie explizite Zahlen als Text verwenden. Wenn Sie beispielsweise '01in Excel schreiben , wird sie 01ohne einfaches Anführungszeichen
angezeigt

Antworten:


6

Wenn Sie die CSV öffnen, haben Sie die Möglichkeit, das Trennzeichen und den Datentyp für jede Spalte anzugeben. Der Textimport-Assistent besteht aus 3 Schritten. Beachten Sie, dass meine Screenshots aus Excel 2010 stammen, dies funktioniert jedoch in Excel 2003 genauso.

Schritt 1: Wählen Sie begrenzt (anstelle der festen Breite).

Schritt 2: Wählen Sie Komma als Trennzeichen

Schritt 3: Wählen Sie jede Spalte aus und ändern Sie das Datenformat in "Text". (Sie sehen das Wort Text über jeder Spalte wie im folgenden Screenshot.)

Geben Sie hier die Bildbeschreibung ein

Die führenden Nullen werden nicht mehr entfernt:

Geben Sie hier die Bildbeschreibung ein

UPDATE : Wenn Sie nicht durch den Prozess navigieren möchten, um Excel zur Zusammenarbeit zu bewegen , können Sie CSVEd verwenden , einen Editor, der speziell zum Bearbeiten von abgegrenzten Textdateien entwickelt wurde. Ein guter Texteditor wie Notepad ++ funktioniert möglicherweise auch, aber Sie können Ihre Daten nicht in Spalten angeordnet sehen.



1
Mein Problem war, dass meine Datei eine CSV-Erweiterung hatte und das Dialogfeld "Importieren" nie angezeigt wird. Als ich die Datei in eine Texterweiterung umbenannte, war ich fertig und wusste, wohin ich gehen sollte. ty.
Chad

Hier ist eine Komplikation: Nachdem ich es wie beschrieben importiert habe, möchte ich die Möglichkeit haben, die Datei zu ändern und sie als CSV zurückzuspeichern. Es präsentiert mir ein kompliziertes hässliches Dialogfeld (komm schon, Microsoft-Design ein benutzerdefiniertes Dialogformular dafür, anstatt die MessageBox Windows-Funktion zu verwenden!). Ich wähle die Option "es im gleichen Format zu halten". In diesem Fall wird standardmäßig ein durch Tabulatoren getrenntes Format verwendet. Um sicherzustellen, dass die txt-Datei mit einem Komma-Trennzeichen gespeichert wird, müssen Sie die Dateinamenerweiterung wieder in "csv" ändern. Ist das hässlich von was? Nach 10 Versionen von Excel haben wir das?
Chad

Hallo Velika, siehe das Update am Ende meiner Antwort. Möglicherweise ist es besser, wenn Sie Excel überhaupt nicht verwenden.
Jon Crowell

Ja, ich habe schon nach einem CSV-Editor gesucht. Ich habe CSVEd gesehen. Mein erster Eindruck ist, dass es wie eine verwirrende Ametuerish-Oberfläche aussieht. Ich denke, "Tabular Text Editor" sieht besser aus. Danke für Ihre Hilfe.
Chad

13

Bin gerade auf dieses Problem gestoßen. Wenn Sie die Erstellung der CSV-Datei steuern, können Sie die Daten wie folgt aussehen lassen:

"Col1","Col2"
="01",A
="2",B
="10", C

Beim Öffnen als Excel bleibt die 01 erhalten.


Mein Excel 2010 behält 01 auch mit Ihrem Beispiel nicht bei
OneWorld

1

Formatieren Sie die Spalte so, dass angezeigt wird, wie Sie es möchten (z. B. 00 für 2 Ziffern).
Dies hat den Vorteil, dass sie mit diesen Ziffern gespeichert wird (Sie müssten jedoch die Formatierung jedes Mal ändern, wenn Sie die CSV bearbeiten).


0

Kopieren Sie zunächst alle Daten / Spalten und Zeilen aus dem tatsächlichen Excel-Blatt in ein anderes Excel-Blatt, um auf der sicheren Seite zu sein, damit Sie die tatsächlichen Daten zum Vergleichen haben. Schritte,

  1. Kopieren Sie alle Werte in der Spalte und fügen Sie sie in einen Notizblock ein.
  2. Ändern Sie nun den Spaltentyp in der Excel-Tabelle in Text (die vorhergehenden / nachfolgenden Nullen werden abgeschnitten). Machen Sie sich darüber keine Sorgen.
  3. Gehen Sie zum Editor und kopieren Sie alle Werte, die Sie gerade eingefügt haben.
  4. Gehen Sie zu Ihrem Excel-Blatt und fügen Sie die Werte in dieselbe Spalte ein.

Wenn Sie mehr als eine Spalte mit 0 Werten haben, wiederholen Sie diese einfach.

Glückliche Tage.


0

1) Fügen Sie meine Zahlen in eine Excel-Spalte ein (dadurch werden führende Nullen entfernt).

2) Klicken Sie dann mit der rechten Maustaste auf "Zellen formatieren", die für eine 4-stellige Nummer auf 0000 und für 5-stellige # auf 00000 eingestellt sind. etc ... (bring diese Nullen zurück)

3) Kopieren Sie die Spalte und fügen Sie sie in eine TXT-Datei ein. (sollte alle führenden Nullen haben).

4) Kopieren Sie Ihre TXT-Liste.

5) Klicken Sie mit der rechten Maustaste auf eine Spalte in Excel und formatieren Sie sie in Text.

6) Fügen Sie aus der TXT-Datei kopierte Daten in die Excel-Spalte ein. (Alle führenden Nullen bleiben erhalten.)

Begrenzen Sie Ihren Herzenswunsch.


0

Wenn der Schaden bereits behoben ist und Sie die Daten in Excel haben, können Sie das Dateiformat mithilfe der benutzerdefinierten Option für das Zahlenformat ändern. Geben Sie einfach Nullen für die Anzahl der gewünschten Stellen ein (das folgende Bild enthält sechs Ziffern).

Geben Sie hier die Bildbeschreibung ein

Hier ist ein Makro, das dies auch auf Ihrem gesamten Blatt ausführt. Geben Sie einfach die Anzahl der Ziffern an.

Sub whyNot()
Dim WS As Worksheet, fMat As String, p As Long

    '''''Custom Options
    Const NumberOfPlaces As Long = 3 '' change this to number of places you want
    Set WS = ActiveSheet 'or specify the sheet name with Sheets("Sheet1")


        For p = 1 To NumberOfPlaces
        fMat = fMat & "0"
        Next p

        WS.UsedRange.Cells.NumberFormat = fMat

End Sub
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.