2016-12-20 3 views
2

Ich versuche, einen Datenrahmen mit einer Säule mit führenden Nullen wie folgt zu exportieren:Wie kann ich führende Nullen in einer Spalte behalten, wenn ich nach CSV exportiere?

df["CD_LIN_NEG"] 

0  001 
1  001 
2  004 
3  001 
4  001 
5  001 
6  003 
7  006 
Name: CD_LIN_NEG, dtype: object 

Aber wenn ich zu CSV-Export, alle führenden Nullen sind alle Zahlen abgeschnitten, wenn ich die Datei in Excel öffnen. Wie kann ich die Nullen behalten?

Ich habe versucht, Zeichenfolge zu konvertieren, aber es funktioniert nicht:

df["CD_LIN_NEG"] = df['T_PROD_CP.LN'].astype(str).apply(lambda x: x.zfill(3)) 

oder auf diese Weise:

df["CD_LIN_NEG"] = '00' + df['T_PROD_CP.LN'].astype(str) 
+6

Das sieht aus wie eine Excel-Ausgabe, Pandas werden die führenden Nullen erhalten, können Sie die csv überprüfen können, um die Anzeige Formatierung in Excel – EdChum

+0

ändern. Wenn Sie Ihre Datei im Notizblock öffnen, sehen Sie, dass führende Nullen vorhanden sind. – zipa

Antwort

5

Dies ist ein Excel-Problem als @EdChum vorgeschlagen. Sie möchten Ihre Spalte in ="" mit apply('="{}".format) umbrechen. Dies sagt Excel, dass der Eintrag als eine Formel behandelt werden soll, die den Text in Anführungszeichen zurückgibt. Dieser Text wird Ihre Werte mit führenden Nullen sein.

Betrachten Sie das folgende Beispiel. Dies ist eine Excel-Ausgabe

df = pd.DataFrame(dict(A=['001', '002'])) 
df.A = df.A.apply('="{}"'.format) 
df.to_excel('test_leading_zeros.xlsx') 
Verwandte Themen