f = open("data3.txt","r",encoding='GBK') fo = open("out.txt","w",encoding='GBK') txt = f.readlines() lt = [] for line in txt: lc = line.strip(" \n").split("。") for c in lc: ls = c.split(",") lt.append(ls) for t in lt: for m in t: if "我们" in m: fo.write(m) fo.write("\n") fo.close()这个方法的结果和这个的结果有什么区别import jieba import re dict_words = {} with open('data3.txt', 'r', encoding='GBK') as f: senses = re.sub('([,。\n])', '|' , f.read()) k = jieba.cut(senses) for i in k: if len(i) >= 2: dict_words[i] = dict_words.get(i, 0) + 1 data = sorted(dict_words.items(), key=lambda x:x[1], reverse=True) with open('out.txt', 'w') as f: for sense in senses.split('|'): if data[0][0] in sense: f.write(sense+ '\n')
时间: 2023-05-24 15:06:23 浏览: 175
从txt中读入数据
这两个方法的结果略有不同。
第一个方法会读入整个文件,并将每行按照句号和逗号分割成多个子句,然后将每个子句按照逗号再分割成多个短语。对于每个短语,如果包含“我们”,就写入到输出文件中。
第二个方法使用了分词工具jieba将整个文件分成了一个个词语,然后遍历词语,统计每个词语出现的次数。然后将所有词语按照出现次数排序,找到出现次数最多的词语(即data[0][0]),然后遍历每个子句,如果包含该词语,则写入到输出文件中。
相比之下,第二个方法更细致和全面。它不仅统计了“我们”这个短语的出现次数,还统计了所有词语的出现次数,并找到了最常出现的词语,然后利用这个信息遍历每个子句,找到所有包含该词语的子句并写入输出文件中。因此,第二个方法的结果更全面,涵盖了“我们”这个短语以外的所有词语。
阅读全文