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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)