繁体   English   中英

从文本文件中读取文本

[英]Read text from text file

我的文本文件有 2-3 个段落,每个段落用空行分隔。 我必须从文本文件中读取所有单词并计算单词。 但问题是它正在读取空白行并将结果显示为“:2”。 如何在读取文件时删除此行。 我已经使用了 line = line.strip(),但仍然显示 ':2' output 显示:

: 2

: 2

是:1

文本文件内容为:

谷歌靠广告赚钱。 希望人们购买他们的产品、服务或想法的人或公司给 Google 钱,Google 会向 Google 认为会点击广告的人展示广告。

谷歌只有在人们点击链接时才能获得收益,因此它会尽可能多地了解人们,以便只向合适的人展示广告。

这是最后一行。

d=dict()
f = open('/Users/admin/Desktop/textfile.txt','r')
for line in f:
    line = line.strip()
    line=line.strip('\n')
    words = line.split(" ")
                     
    for word in words:
        if word in d:
            d[word] = d[word] + 1
        else:
            d[word] = 1

for key in list(d.keys()):
    print(key, ":", d[key])

在计算其中的单词之前检查空行

for line in f:
    line = line.strip()
    if line: 
       # it is not empty, so continue counting

此外,您可以使用 Counter 而不是普通的 dict

from collections import Counter 

d = Counter()
with open(...) as f:
    for line in f:
        ...
        d.update(Counter(line.split()))

for key, value in d.items():
    print(f'{key}: {value}')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM