-6

100 文を含むテキスト ファイルがあります。100 文を含むテキスト ファイルから平均文の長さ (単語数) をカウントする Python スクリプトを作成したいと考えています。ありがとう

4

3 に答える 3

7

素朴な方法:

sents = text.split('.')
avg_len = sum(len(x.split()) for x in sents) / len(sents)

真剣な方法: nltkを使用して、ターゲット言語のルールに従ってテキストをトークン化します。

于 2012-12-20T10:47:54.120 に答える
3
wordcounts = []
with open(filepath) as f:
    text = f.read()
    sentences = text.split('.')
    for sentence in sentences:
        words = sentence.split(' ')
        wordcounts.append(len(words))
average_wordcount = sum(wordcounts)/len(wordcounts)
于 2012-12-20T10:40:28.983 に答える
0

これはあなたを助けるはずです。しかし、これは基本的なことです。少なくとも自分で何かを試してみてください。

このコードは、各文が新しい行にあることを前提としています。

そうでない場合は、コードを修正するか、質問に反映することができますが、これについては不明です。

def read_lines_from_file(file_name):
    with open(file_name, 'r') as f:
        for line in f:
            yield line.strip()

def average_words(sentences):
    counts = []
    for sentence in sentences:
        counts.append(sentence.split())
    return float(sum(counts)/len(counts))

print average_words(read_lines_from_file(file_name))
于 2012-12-20T10:43:46.430 に答える