Pythonでファイルの中の単語や文章の数を数える方法

スポンサーリンク

この記事では、Pythonプログラミングを使用してファイルの行数と単語数を数える方法について説明する予定です。

こちらもお読みください。


スポンサーリンク

How to Count Words and Lines – Python Wordcounter

大きなファイルを持っていて、そのファイル内の単語数を把握する必要があるとします。

また、その中に何行のテキストが存在するかも調べたいでしょう。

Pythonを使って、単語と行をカウントするワードカウンタープログラムを作成することができます

1. サンプルテキストファイルの作成

今回のテキストファイルの作成では、まず変数を作成し、そこに文字列を代入します。

次に、open()関数で書き込み専用モード(‘w’)のファイルを作成し、新しく作成したテキストファイルに文字列変数の内容を書き込んでいきます。

最後に、テキストファイルを閉じます。

それでは、テキストファイルを作成するPythonプログラムを書いてみましょう。

# Create a Python string
string = """Welcome to Python!
Python is a part of JournalDev IT Services Private Limited."""
 
# Create a sample text file using open() function
file = open("sample_file.txt", "w", encoding='utf-8')
 
# Write the above string to the newly created text file
# If it is created successfully
if file != None:
    file.write(string)
    print("Sample text file created and written successfully!!")
else:
    print("OSError: File cannot be created!!")
 
# Close the above text file using close()
file.close()

結果は以下の通りです。

Sample text file created and written successfully!!

2. サンプルテキストファイルの内容を表示する

テキストファイルの作成に成功したので、次に read() 関数を用いてサンプルテキストファイルの内容を読み込み専用モード (‘r’) で変数に読み込んでみます。

そして、Python変数の内容を表示して、ファイルからのテキストを表示します。

最後に、良い習慣として、開いたテキストを閉じて、コードのメモリリークを回避します。

それでは、与えられたテキストファイルを読み込むためのPythonコードを見てみましょう。

# Open the given sample text file using open() function
# In read only mode
file = open("C:path//sample_file.txt", "r", encoding='utf-8')
 
# Read the sample text file using the read() function
# If it is opened successfully
if file != None:
    file_data = file.read()
    # Print the content of the sample text file
    print("This is the content of the sample text file:
"
)
    print(file_data)   
else:
    print("OSError: File cannot be opend!!")
 
# Close the above opened text file using close() function
file.close()

結果は以下の通りです。

This is the content of the sample text file:
 
Welcome to Python!
Python is a part of JournalDev IT Services Private Limited.

3. ファイル内の行数と単語数をカウントするアルゴリズム

ファイルの行数と単語数を数えるには、次のような手順で行います。

    1. line_count & word_count という二つの変数を作成し、ゼロで初期化します。
    1. file_path という変数を作成し、与えられたテキストファイルのフルパスで初期化します。
    1. open() 関数を使用して、与えられたテキストファイルを読み取り専用モード (‘r’) で開きます。
    1. 開いたテキストファイルを一行ずつ読み、繰り返し行うたびに line_count を 1 つずつ増やしていく。
    1. len()関数と split()関数を用いて、読み込んだ各行の単語数を数える。
    1. 各行の単語数を word_count に追加します。
    1. close()関数を用いて、開いているテキストファイルを閉じる。
    1. line_countword_count 変数の最終的な値を表示します。

4. ファイルの行数と単語数をカウントするPythonコード

上記の行数と単語数をカウントするアルゴリズムをPythonコードで実装してみましょう。

# Create two counter variables
# And initialize them with zero
line_count = 0
word_count = 0
 
# Open the given sample text file using open() function
file = open("C:path//sample_file.txt", "r", encoding='utf-8')
 
# Perform all the operations using the sample text file
# If it is opened successfully
if file != None:
    # Iterate over the opened file
    # To the number of lines and words in it
    for line in file:
        # Increment the line counter variable
        line_count = line_count + 1
        # Find the number of words in each line
        words = len(line.split())
        # Add the number of words in each line
        # To the word counter variable
        word_count = word_count + words
else:
    print("OSError: File cannot be opend!!")
 
# Close the above opened text file using close() function
file.close()
 
# Print the final results using the final values
# Of the line_count and word_count variables
print(f"
Total number of lines in the given file: {line_count}"
)
print(f"
Total number of words in the given file: {word_count}"
)

結果は以下の通りです。

Total number of lines in the given file: 2
 
Total number of words in the given file: 13

まとめ

この記事では、以下のことを学びました。

  • Pythonでテキストファイルを作成するには?
  • Pythonでテキストファイルの内容を読み取るには?
  • 与えられたテキストファイルの行数と単語数をカウントするアルゴリズム。
  • Pythonを使ってテキストファイルの行数と単語数を数えるには?

あなたが明確であり、あなた自身でこれらのタスクを実行する準備ができていることを願っています。

ありがとうございました!このようなPythonのチュートリアルをもっと見るために私たちにご期待ください。

タイトルとURLをコピーしました