m0_57052558 2021-06-28 08:13 采纳率: 100%
浏览 21
已采纳

有知道这个代码错在哪里的吗?

import jieba

import csv

 

txt = open("荷塘月色.txt", 'r', encoding='utf-8').read() # 读取所需要分析的文件内容,这个看你要读取的文件名,用其替换xiXiang

count = len(txt)

Excel = open("Result.csv", 'w', newline='') # 打开表格文件,若表格文件不存在则创建

writ = csv.writer(Excel) # 创建一个csv的writer对象用于写每一行内容

writ.writerow(['名称', '出现次数']) # 写表格表头

words = jieba.lcut(txt) # 使用jieba库对文本进行分词

counts = {} # 创建一个字典,用于对词出现次数的统计,键表示词,值表示对应的次数

for word in words:

    if len(word) <= 1:

        continue

    else:

        counts[word] = counts.get(word, 0) + 1 # 在字典中查询若该字返回次数加一

item = list(counts.items()) # 将字典转化为列表格式

item.sort(key=lambda x: x[1], reverse=True) # 对列表按照第二列进行排序

for i in range(200):

    writ.writerow(item[i]) # 将前200名写入表格,这个数值你看着改

num = 0

for i in txt.readlines():

    num = num + len(i.str())

print(num)

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-06-28 10:41
    关注

    有两处错误要改,都是在最后一段代码里,第一,for i in txt.readlines():,txt已经是字符串,没有readlines方法。第二,循环中变量i也是字符串,它没有str属性方法,应该写成strip().应该改成这样:

    for i in txt:

        num=num + len(i.strip())

    print(num)

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器