最近学习python爬虫案例输出中国大学排名时,碰见了在使用format函数对字符串进行格式化输出时存在中英文输出格式对齐问题
输出语句的代码:
for ul in ulist:
print("{:^6}\t{:^10}\t{:^6}".format(ul[0],ul[1],ul[2]))
结果如上图,教学视频中老师给出了原因
解决方案如下:
采用chr(12288)表示中文空格
修改后的代码:
# 打印表头,并处理中英文对齐问题
tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"
print(tplt.format("排名", "学校名称", "总分", chr(12288)))
# 输出具体信息
for i in range(num):
u = ulist[i]
print(tplt.format(u[0], u[1], u[2], chr(12288)))
注:{1:{3}^10},这个里面1和3对应format里面的顺序,而“:” 后面的内容表示填充内容,当长度不够时将自动填充
这里有一篇别人写的关于该问题的博客
点此查看
爬虫案例——爬取中国大学排名
点此查看