python – 当汉字和ascii混合时如何控制输出格式?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 当汉字和ascii混合时如何控制输出格式?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1503字,纯文字阅读大概需要3分钟。
内容图文
![python – 当汉字和ascii混合时如何控制输出格式?](/upload/InfoBanner/zyjiaocheng/818/a55758ac09384467976bf1a10619f488.jpg)
我发现很难使文本对齐.
table='''乘客姓名,性别,出生日期
HuangTianhui,男,1948/05/28
姜翠云,女,1952/03/27
李红晶,女,1994/12/09
LuiChing,女,1969/08/02
宋飞飞,男,1982/03/01
唐旭东,男,1983/08/03
YangJiabao,女,1988/08/25
买买提江·阿布拉,男,1979/07/10
安文兰,女,1949/10/20
胡偲婠(婴儿),女,2011/02/25
(有待确定姓名),男,1985/07/20
'''
data=[ [cell for cell in row.split(",") ] for row in table.split("\n") if row]
len0=max([ len(x[0]) for x in data])
len1=max([ len(x[1]) for x in data])
len2=max([ len(x[2]) for x in data])
for cell in data:
print("_"*((len0+len1+len2)*2+4) )
print("|%24s|%4s|%20s|" % (cell[0],cell[1],cell[2]))
不是每一行都是(12 2 10)* 2 4字符宽度,相同的格式控制语句,但不同的输出,我如何修复它使每一行相同的输出格式,相同的宽度?
解决方法:
不漂亮,但这是一种方式. (用bytes.rjust编码/解码)
table='''乘客姓名,性别,出生日期
HuangTianhui,男,1948/05/28
姜翠云,女,1952/03/27
李红晶,女,1994/12/09
LuiChing,女,1969/08/02
宋飞飞,男,1982/03/01
唐旭东,男,1983/08/03
YangJiabao,女,1988/08/25
提江·阿布拉,男,1979/07/10
安文兰,女,1949/10/20
胡偲婠(婴儿),女,2011/02/25
(有待确定姓名),男,1985/07/20
'''
table = table.encode('gb18030')
data = [[cell for cell in row.split(b",")]
for row in table.split(b"\n") if row]
len0 = max([len(x[0]) for x in data])
len1 = max([len(x[1]) for x in data])
len2 = max([len(x[2]) for x in data])
for cell in data:
print("_" * (len0+len1+len2+4))
line = (
b"|" + cell[0].rjust(len0) +
b"|" + cell[1].rjust(len1) +
b"|" + cell[2].rjust(len2) + b"|"
)
print(line.decode('gb18030'))
输出:
内容总结
以上是互联网集市为您收集整理的python – 当汉字和ascii混合时如何控制输出格式?全部内容,希望文章能够帮你解决python – 当汉字和ascii混合时如何控制输出格式?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。