我可能有一个简单的格式化问题-我想做一些类似hrout.write('0',i)的事情,以便在'i'前加上一个0,这是一个时间戳,但我不知道正确的语法。我的代码在下面。谢谢大家。
hrIn = open('HrsInput.csv')
hrOut = open('HrsOutput.csv', 'wt')
for i in hrIn:
if len(i) < 5:
hrOut.write('0', i)
else:
hrOut.write(i)
hrIn.close()
hrOut.close()
**我最终发现填充技术是有效的我可能被excel欺骗了,因为在记事本上会显示填充。
hrIn = open('HrsInput.csv')
hrOut = open('HrsOutput.csv', 'wt')
for i in hrIn:
hrOut.write("{}\n".format(i.rstrip().zfill(5)))
hrIn.close()
hrOut.close()
最佳答案
使用str.format:
hrOut.write('0{}'.format(i))
或者移除if/else和pad:
for i in hrIn:
hrOut.write("{}\n".format(i.rstrip().zfill(5)))
zfill只为您的时间加一个零,包含四个字符:
In [21]: "12:33".zfill(5)
Out[21]: '12:33'
In [22]: "2:33".zfill(5)
Out[22]: '02:33'