2016-12-20 43 views
2

我想一個數據幀輸出,像這樣帶前導零的列:當我導出爲CSV時,如何將前導零保留在列中?

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 

但是,當我導出爲CSV,當我在Excel中打開文件中的所有前導零被切斷任何數字。我怎樣才能保持零?

我試圖轉換爲字符串,但它不工作:

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

或者這樣:

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

這看起來像一個Excel問題,大熊貓將保留前導零,您可以檢查CSV,更改Excel – EdChum

+0

顯示格式這是一個Excel的問題。如果你在記事本中打開你的文件,你會看到前面的零在那裏。 – zipa

回答

5

這是一個Excel的問題,因爲@EdChum建議。您需要使用apply('="{}".format)將您的專欄封裝在=""中。這將告訴excel將條目視爲返回引號內文本的公式。該文本將是你的值與前導零。

考慮下面的例子。

df = pd.DataFrame(dict(A=['001', '002'])) 
df.A = df.A.apply('="{}"'.format) 
df.to_excel('test_leading_zeros.xlsx') 
相關問題