Wie Sie die automatische Erkennung von Zahlen und Text in Excel deaktivieren

8

Ich habe Python benutzt, um eine CSV-Datei zu erzeugen. Aber wenn ich es in Excel öffne, erkennt Excel automatisch eine Zeichenfolge in einer Zahl, wenn sie konvertiert werden könnte.

z. B. 33E105 wird 33*10^105 , was eigentlich eine ID ist, keine Zahl.

Wie kann ich dies beim Öffnen einer CSV-Datei in Excel deaktivieren? Oder ich muss auf eine Excel-Python-Bibliothek zurückgreifen, um eine Excel-Datei auszugeben und das Format selbst anzugeben?

Ich fand auch eine ähnliche Frage ohne gute Antworten im Internet.

Danke!

    
Yin Zhu 23.03.2010, 01:35
quelle

5 Antworten

1

Um tatsächliche .xls -Dateien in Python zu schreiben, anstatt .csv , die Excel möglicherweise falsch interpretiert, können Sie das xlwt Python-Paket von Drittanbietern.

    
Alex Martelli 23.03.2010, 01:56
quelle
4

Sie könnten ihm ein einfaches Anführungszeichen voranstellen und es zu Text zwingen.

Eine lustige Antwort ist, dass Sie die ersten acht Zeilen leer lassen könnten (es verarbeitet nur die ersten acht Zeilen, um den Datentyp zu bestimmen), obwohl ich denke, dass damit alle Ihre Daten vollständig gelöscht werden können. Sie können diese leeren Zeilen ausblenden.

    
Zachary Scott 23.03.2010 01:41
quelle
3

Sie haben 3 Optionen:

  • Geben Sie eine speziell formatierte XML-Datei aus, die Excel lesen kann. Ich erinnere mich an keine Details, aber wenn ich interessiert bin, kann ich sie ausgraben. Wir haben das mit unserem Perl-Code gemacht. Ich weiß nicht, ob Excel-Python genau das tut.

  • Platzieren Sie ' (Apostroph) vor jeder Zeichenfolge.

  • Verwenden Sie eine Bibliothek, die native Excel-Dateien mit der richtigen Formatierung ausgibt. Keine Ahnung, ob es solche für Python gibt, aber in jedem Fall ist es eine Art Overkill-Variante der ersten Option.

DVK 23.03.2010 01:41
quelle
2

Ich denke, du kannst ein einzelnes ' davor setzen, um zu verhindern, dass numerische Strings in ints umgewandelt werden

ZB

%Vor%

OpenXML ist eine flexiblere (und kompliziertere) Option, funktioniert aber nur mit Office 2003 oder neuer und ist für dieses Problem übertrieben. Geeignet für Fälle, in denen Zellen / mehrere Blätter hervorgehoben werden müssen.

    
John La Rooy 23.03.2010 01:40
quelle
0

Wenn Sie nicht ändern möchten, wie Sie die CSV-Datei schreiben, können Sie den Text-Import-Assistenten in Excel verwenden, um festzulegen, wie die einzelnen Spalten behandelt werden sollen. Im Assistenten gibt es einen Schritt, mit dem Sie auswählen können, um welche Art von Daten es sich in jeder Spalte handelt. Stellen Sie die gewünschten Spalten auf Text ein und behandeln Sie sie als Zeichenfolge.

    
user210748 23.03.2010 01:41
quelle

Tags und Links