2022年 11月 5日

Python数据格式化

formata()函数用于将数值格式化。

语法:

format(value[,format_spec])

value:要格化式的值。

format_spec :格式字符串。

format_spec参数的语法格式:
[[fill]align][sign][#][0][width][,][.precision][type]

fill:可选,用于指定空白处填充的字符,默认为空格。

align:可选,用于指定对齐方式,需与width配合使用。

对齐方式包括:

“<“——左对齐

“>”——右对齐

“^”——内容居中

“=”——右对齐,仅对数字有效。

sign:可选,用于指定有无符号。

“+”:表示正数前添加正数,负数前添加负号。

“-“:表示正数不变,负数前添加负号。

空格:表示正数前添加空格,负数前添加负号。

“#”可选,对于二、八、十六进制数来说,如果添加”#”,则会显示0b/0o/0x前缀,否则不显示前缀。
width:可选,用于指定所占宽度,表示总共输出多少位数字。
“,”可选,为数字添加千位分隔符。
“.precision”:可选,用于指定保留的小数位数。
type: 可选,用于指定格式化类型。

  1. #format()函数常用的格化式字符
  2. f/F:转换为浮点数再格式化,且会四舍五入
  3. e/E:转换为科学计数法表示再格式化
  4. g:自动在e和f中切换,将整数、浮点数转换为浮点型或科学计数法表示
  5. G:自动在E和F中切换,将整数、浮点数转换为浮点型或科学计数法表示
  6. %: 显示百分比

1.通过format()函数格式化实现对齐与填充操作

  1. print(format(2221,'12')) #默认右对齐,宽度为12
  2. print(format("ming","12")) #默认左对齐,款对为12
  3. print(format("ming",">10")) #右对齐,宽度为12
  4. print(format(123,"0=12")) #右对齐,宽度为12,用0补充
  5. 运行结果:
  6. 2221
  7. ming
  8. ming
  9. 000000000123

2.通过format()函数指定有无符号输出

  1. print(format(1.23,'+.2f')) #值为"+",正数前添加正号
  2. print(format(-1.23,'+.2f')) #值为"+",负数前添加负号
  3. print(format(1.23,'-.2f')) #值为"-",正数不变
  4. 运行结果:
  5. +1.23
  6. -1.23
  7. 1.23

3.通过format()函数保留小数位数

  1. print(format(3.1415926,'f')) #默认保留小数点后6位
  2. print(format(3.1415,'.0f')) #不带小数
  3. print(format(3.1415,'.1f')) #保留小数点后1位
  4. 运行结果:
  5. 3.141593
  6. 3
  7. 3.1

4.通过format()函数对数值进行格式化

  1. print(format(0.123,'%')) #显示百分比(默认显示小数点后6位)
  2. print(format(0.123,'.2%')) #百分比格式,且保留2位小数
  3. print(format(10000,'.2e')) #指数方法
  4. #运行结果
  5. 12.300000%
  6. 12.30%
  7. 1.00e+04