我可能有一个简单的格式化问题-我想做一些类似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'

09-25 19:58