Skip to main content
 首页 » 编程设计

python之在 Python 中的字符前添加零

2025年05月04日29zfyouxi

我输入的 csv 文件如下所示

S.没有第一第二第三

1 71.28 75.30 79.78

2 3.45 36.65 25.4

我的目标是从每一行的第一、第二和第三列中提取前两位数字。

我使用列表来存储输出,如下所示。

['71','75','79'] 
 
['3.','36','25'] 

但我想要以下输出(代替“3”。我想要“03”)

['71','75','79'] 
 
['03','36','25'] 

我尽了最大的努力,但未能成功。我不确定我在哪里犯了错误。

我的尝试:例如让a=['1','2','34']

然后我使用 print str(a[0].zfill(2)) 输出 01,这是我需要的, 但在主文件的情况下,这是行不通的。 请帮我。

请您参考如下方法:

您需要遍历您的字符串列表,然后将它们中的每一个转换为 float(因为看起来您有一些小数点),然后将它们转换为零填充数字.

data = ['3.','36','25']; 
new_data = ['%02d' % float(x) for x in data] 

format specifier '%02d',表示您想要一个整数(“d”),如果它少于 2 位数字,则将用零填充(“02”)。

如果您更喜欢格式方法。

new_data = ['{0:02.0f}'.format(float(x)) for x in data] 

此格式说明符意味着您需要一个以零填充的两位数字 ("02"),后跟小数点后的零点 (".0"),并且输入数据类型为 float (“f”)

NOTE: Both of these solutions assume that you don't care about any non-integer portions of the data (if there are any).