txt导入

xiaobaiyiyou 2020-07-13 11:06:31
import jieba
txt=open("红楼梦.txt","r",encoding='utf-8').read()
words= jieba.lcut(txt)
counts={}
for word in words:
if len(word)==1:
continue
else:
counts[word]=counts.get(word,0)+1
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(15):
word,count=items[i]
print("{0:<10}{1:>5}".format(word,count))

求问这是哪里出现什么问题了呀?
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐的小猪 2020-07-14
  • 打赏
  • 举报
回复
format{0:<10}中 : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。 解决办法是: 用中文空格填充就好。中文空格的编码为chr(12288)
print("{0:{2}<10}{1:<5}".format(word,count,chr(12288)))
陈年椰子 2020-07-14
  • 打赏
  • 举报
回复
那说明 红楼梦.txt 不是 utf-8 格式。 两种解决方法。 1、检查红楼梦.txt 是什么编码( 可能是 gbk) , 按编码修改 encoding= 参数。 2 、 用 UE 或者 notepad ++ 修改为 utf8 编码。
陈年椰子 2020-07-14
  • 打赏
  • 举报
回复
想对齐好看, 试试 print('{0}\t{1}'.format(a,b)) 这种形式
xiaobaiyiyou 2020-07-14
  • 打赏
  • 举报
回复
这个问题解决了,谢谢。 还有一个问题: print("{0:<10}{1:>5}".format(word,count)) 为什么王夫人那一行的格式和别的不一样呢?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧