当我导出到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中打开文件时,所有的前导零被切断任何数字。 我怎样才能保持零?
我试图转换为string,但它不工作:
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)
@EdChumbuild议这是一个优秀的问题。 你需要用=""
apply('="{}".format)
来包装你的列。 这将告诉excel将条目视为返回引号内文本的公式。 该文本将是你的值与前导零。
考虑下面的例子。
df = pd.DataFrame(dict(A=['001', '002'])) df.A = df.A.apply('="{}"'.format) df.to_excel('test_leading_zeros.xlsx')