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 浏览: 74
这两个方法的结果略有不同。
第一个方法会读入整个文件,并将每行按照句号和逗号分割成多个子句,然后将每个子句按照逗号再分割成多个短语。对于每个短语,如果包含“我们”,就写入到输出文件中。
第二个方法使用了分词工具jieba将整个文件分成了一个个词语,然后遍历词语,统计每个词语出现的次数。然后将所有词语按照出现次数排序,找到出现次数最多的词语(即data[0][0]),然后遍历每个子句,如果包含该词语,则写入到输出文件中。
相比之下,第二个方法更细致和全面。它不仅统计了“我们”这个短语的出现次数,还统计了所有词语的出现次数,并找到了最常出现的词语,然后利用这个信息遍历每个子句,找到所有包含该词语的子句并写入输出文件中。因此,第二个方法的结果更全面,涵盖了“我们”这个短语以外的所有词语。
相关问题
f = open(self.path,"r",encoding="UFT-8")
在你提供的代码中,打开文件时使用了错误的编码参数`"UFT-8"`,正确的编码应该是`"UTF-8"`。请修改代码为以下形式:
```python
f = open(self.path, "r", encoding="UTF-8")
```
另外,我还注意到你使用了`self.path`来指定文件路径。请确保在实例化`JsonFileReader`对象时,将正确的文件路径传递给`path`属性。这样才能确保能够正确地打开和读取文件。
修复这些问题后,代码应该可以正常打开文件并读取其中的内容。
f = open( cdata.csv ,mode= a ,encoding= utf-8 ,newline= )
这段代码有几个问题需要修改:
1. `cdata.csv`应该加引号,表示它是一个字符串,即文件名。
2. `mode`应该加引号,表示它是一个字符串,即文件打开模式。
3. `newline`应该指定为 `''`,表示不使用特定的换行符。
正确的代码应该是:
```python
f = open('cdata.csv', mode='a', encoding='utf-8', newline='')
```