Numpy savetxt格式问题

时间:2018-04-04 13:35:12

标签: python pandas numpy

我正在使用以下内容将数据帧转换为固定宽度的csv文件:

fmt='%2s%-10s%3s%1.0f%4s%1s%4.0f%2.0f%2.0f%4.0f%1s%1s%2.0f%2.0f%4.0f%16.0f%12.0f%5s' 
np.savetxt('df.txt',df.values,fmt=fmt)

代码运行正常,除了我有一位数的情况(即%2.0f%2.0f%4.0f%指日,月,年)。 如果我有例如7,3,2017,它将输出

 7 32017

我想要

07032017

对于像10,10,2017这样的情况,它运行良好

2 个答案:

答案 0 :(得分:2)

使用'%0<pad>.<precision>f''0<pad>d'

documentation中描述了这一点。

示例:

x = np.array([7, 3, 2017]) 
np.savetxt('out.txt', x, fmt='%02.0f')

out.txt中的输出:

07
03
2017

答案 1 :(得分:1)

如果您确定数据类型是整数,请改用%02d%02d%04d