【Python】テキストファイルから日本語を含む行だけを取り出す【雑記】

スポンサーリンク
スポンサーリンク

Pythonコード

以下のコードを「Get_lang_jp.py」として保存。

import sys
import re

def main():
    #引数の確認
    args = sys.argv
    if(len(args) < 2):
        print("引数:対象ファイルパス")
        return False

    Get_lang_jp(args[1])

def Get_lang_jp(input_path):
    #出力用データ
    output_list = list()

    #データ読み込み
    input_file = open(input_path, "r", encoding="UTF-8")
    input_list = input_file.readlines()
    input_file.close()

    #データの分類
    for data in input_list:
        contain = re.findall("[ぁ-ん]|[ァ-ン]|[一-龥]", data)
        if len(contain) != 0:
            output_list.append(data)

    #データの出力
    output_file = open(input_path + "_lang_jp.txt", "w", encoding="UTF-8")
    for data in output_list:
        output_file.writelines(data)
    output_file.close()

if __name__ == "__main__":
    main()

動作確認

以下のようなテキストファイルを「sample.txt」として用意する。

関数A
funcA()
関数B
funcB()
Sort関数
昇順に並び替え
funcSort()

pythonファイルとテキストファイルが同じディレクトリにあるとして、次のように実行する。

python .\Get_lang_jp.py .\sample.txt

実行すると「sample.txt_lang_jp.txt」というファイルが作成されて、中身は次のようになる。

関数A
関数B
Sort関数
昇順に並び替え

最後に

アルファベットと日本語が混ざったテキストファイルから、日本語が含まれている行だけを取り出す必要があったため、pythonで手軽に実装しました。

こういう用途でさっと作るにはpython便利。

コメント

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