Python:补零操作,补充字符串,格式化输出

Posted 我是胡歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:补零操作,补充字符串,格式化输出相关的知识,希望对你有一定的参考价值。

python3 所有格式化输出

%占位符格式化输出

- %s   针对字符类型
- %d   针对整数类型
- %f   针对浮点数类型
foo, foo1 = 'bar', 23.5;
print("hello world, %s"%(foo))
print("hello world, %s, %f"%(foo, foo1))
指定最小输出宽度

当使用表1中的转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):
%10d 表示输出的整数宽度至少为 10;
%20s 表示输出的字符串宽度至少为 20。

n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)

url = "python"
print("url(10):%10s." % url)
print("url(5):%s." % url)

运行结果

n(10):   1234567.
n(5):1234567.
url(10):     python.
url(5):python.
指定小数精度

对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下

f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)

format格式化输出

不需要特别指定格式,

name="bai"
age=20
print("姓名:,年龄:岁".format(name,age))

一般情况下,是按照索引选择format后面地数据。

存在位置映射和关键字映射,也是按照索引地规则

#位置映射
print(":".format(1,2))
#1:2
#关键字映射
print("name,,".format(20,'汉',name='bai'))
#bai,20,汉

f格式化输出

name="bai"
print(f"你好,我是name")

python 补0操作

补充字符,代码实例如下:
方法一:


i = 3.141725
// 左边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- i: 0>9.4f" )

// 右边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- i: 0<9.4f" )

// 右边填充x,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- i: x<9.4f" )

输出结果

-- 0003.1417
-- 3.1417000
-- 3.1417xxx

方法二:
字符串使用 zfill 函数进行补零操作

str = "123"
print(str.zfill(8))
// 输出: 00000123

方法三:
默认情况下,print() 输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。Python 允许在最小宽度之前增加一个标志来改变对齐方式,Python 支持的标志如下:
几点说明:

  • 对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
  • 对于小数,以上三个标志可以同时存在。
  • 对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
n = 123456
# %09d 表示最小宽度为9,左边补0
print("n(09):%09d" % n)
# %+9d 表示最小宽度为9,带上符号
print("n(+9):%+9d" % n)

f = 140.5
# %-+010f 表示最小宽度为10,左对齐,带上符号
print("f(-+0):%-+010f" % f)

s = "Hello"
# %-10s 表示最小宽度为10,左对齐
print("s(-10):%-10s." % s)

输出结果

n(09):000123456
n(+9):  +123456
f(-+0):+140.500000
s(-10):Hello     .

excel 里面如何在数字前面补 0?

请问上边这份表格中 A 列数我想从 B 列中提取前三位 怎么能把第一位 0 也提取过来。

操作方法如下:

一、打开Excel,将光标移动到空白列,如B列。

二、右键点击B列表头,选择设置单元格格式。

三、在窗口中选择文本格式,点击确定。

四、在首行输入公式:=TEXT(A1,“0000”)。

五、点击键盘上的回车按钮,可以看到第一个单元格已经完成加0操作。

六、最后下拉单元格,填充公式,整列数字前添0操作完成。

Microsoft Excel制作表格时常用快捷键:

1、按Ctrl+N新建一个excel文件。

2、按Ctrl+W关闭excel文件。

3、按Shift不松点击关闭按钮,可以关闭所有打开excel文件。

4、插入一个工作表,每按一次F4键,就会插入一个新工作表。

5、按Ctrl+PageDown或PageUp可以快速查看工作表。按Ctrl+9 隐藏行。

6、按Ctrl+0隐藏列。

7、按Ctrl+-(减号) 删除行。

8、按Ctrl+上下左右箭头,可以快速跳转到当前数据区域的边界。

9、按ctrl+shift+end键,可以选取非连续的区域。

参考技术A A列和B列的单元格属性都设置成文本格式才行,数值格式的话,首个非零数字前面的0都不会保留的。。。 参考技术B 想保留0,就不要用value,直接用公式=LEFT(B2,3)本回答被提问者采纳 参考技术C A2用公式:
=LEFT(VALUE(B2),3)
下拉。追问


=LEFT(VALUE(B2),3) ,也不行呀

追答

看错题意了,用下面公式:(原数据为11位?)
=LEFT(TEXT(B2,"00000000000"),3)
下拉。

参考技术D 直接LEFT不行吗?
=LEFT(B2,3)

以上是关于Python:补零操作,补充字符串,格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

excel 里面如何在数字前面补 0?

Python补充05 字符串格式化 (%操作符)

Python_字符串格式化输出

Python补充05 字符串格式化 (%操作符)

PowerShell格式化输出字符串

Python的面试题