如何在Python中拆分数字后显示前导零

fai*_*rry 2 python csv zero

在将数字拆分成Python 3.2中的前三位数和后两位数之后,有什么方法可以显示前导零?我的脚本返回没有前导零的数字......

我有一个看起来像这样的csv文件:

Name,Code
blackberry,20001
wineberry,02002
rasberry,30000
blueberry,03010
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

Name,Code,Code1,Code2
blackberry,20001,200,01
wineberry,02002,020,02
rasberry,30000,300,00   
blueberry,03010,030,10
Run Code Online (Sandbox Code Playgroud)

我的剧本:

import csv
all = []
with open('aaa.csv','r') as csvinput:
    with open('bbb.csv', 'w') as csvoutput:
        reader = csv.reader(csvinput,delimiter=',')
        writer = csv.writer(csvoutput,delimiter=",", lineterminator='\n')
        row = next(reader)
        row.append('Code1')
        row.append('Code2')
        all.append(row)
        for row in reader:
            row.append(row[1][0:2])
            row.append(row[1][-2:])
            all.append(row)
        writer.writerows(all)
        print(all)
Run Code Online (Sandbox Code Playgroud)

上面的脚本返回:

Name,Code,Code1,Code2
blackberry,20001,200,1
wineberry,02002,20,2
rasberry,30000,300,0    
blueberry,03010,30,10
Run Code Online (Sandbox Code Playgroud)

Ste*_*ski 6

csv.writer不字符串转换为数值类型,因此它不会造成您所看到的错误.

我希望你在Excel中查看你的csv文件,它可以将字符串转换为数字.在文本编辑器中查看输出,您应该看到前导零实际存在.

此外,正如其他人指出你的第一片应该是row[1][0:3].

  • +1对于OP的输出来自哪里的第一个很好的解释! (2认同)