テキストファイルから数字を抽出する

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、テキストファイルから5より大きい数字を抽出して表示する方法を学びます。

👀 プレビュー

$ python FindDigits.py
876

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • テキストファイルを開いてその内容を読む方法
  • 文字列から特定の数字を抽出する方法
  • 抽出した数字を新しい文字列に連結する方法
  • 抽出した数字を表示する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • 文字列を操作してそこから特定のデータを抽出する
  • 簡単なデータ処理タスクを自動化するPythonスクリプトを作成する
  • Pythonのファイル操作と文字列操作の知識を適用する

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FileHandlingGroup -.-> python/file_opening_closing("Opening and Closing Files") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/with_statement("Using with Statement") subgraph Lab Skills python/strings -.-> lab-302772{{"テキストファイルから数字を抽出する"}} python/conditional_statements -.-> lab-302772{{"テキストファイルから数字を抽出する"}} python/for_loops -.-> lab-302772{{"テキストファイルから数字を抽出する"}} python/file_opening_closing -.-> lab-302772{{"テキストファイルから数字を抽出する"}} python/file_reading_writing -.-> lab-302772{{"テキストファイルから数字を抽出する"}} python/with_statement -.-> lab-302772{{"テキストファイルから数字を抽出する"}} end

String.txtファイルを開いて文字列を読む

このステップでは、String.txtファイルを開いて文字列を読む方法を学びます。

  1. テキストエディタを開き、/home/labex/projectディレクトリに新しいファイルFindDigits.pyを作成します。
cd /home/labex/project
touch FindDigits.py
  1. FindDigits.pyファイルで、open関数を使って同じディレクトリにあるString.txtファイルを開き、文字列を読み取ります。
## 同じディレクトリにあるString.txtファイルを開いて文字列を読む
with open("String.txt", "r") as f:
    string = f.read()

with文は、読み取りが完了した後にファイルが適切に閉じられることを保証するために使用されます。たとえ例外が発生した場合でもです。

文字列から5より大きい数字を抽出する

このステップでは、文字列から5より大きい数字を抽出して新しい文字列に連結する方法を学びます。

  1. 抽出した数字を格納するための空の文字列を初期化します。
## 抽出した数字を格納するための空の文字列を初期化する
numbers = ""
  1. 文字列の各文字をループして、それが数字で5より大きいかどうかを確認します。そうであれば、それをnumbers文字列に追加します。
## 文字列の各文字をループする
for char in string:
    ## 文字が数字で5より大きい場合
    if char.isdigit() and int(char) > 5:
        ## それをnumbers文字列に追加する
        numbers += char

isdigit()メソッドは文字が数字であるかどうかを確認し、int(char)は文字を整数に変換して5より大きいかどうかを確認します。

抽出した数字を表示する

このステップでは、抽出した数字を表示する方法を学びます。

  1. numbers文字列を表示します。
## numbers文字列を表示する
print(numbers)

完成したFindDigits.pyファイルは以下のようになります。

## 同じディレクトリにあるString.txtファイルを開いて文字列を読む
with open("String.txt", "r") as f:
    string = f.read()

## 抽出した数字を格納するための空の文字列を初期化する
numbers = ""

## 文字列の各文字をループする
for char in string:
    ## 文字が数字で5より大きい場合
    if char.isdigit() and int(char) > 5:
        ## それをnumbers文字列に追加する
        numbers += char

## numbers文字列を表示する
print(numbers)

これでプロジェクトが完了しました。FindDigits.pyファイルを実行して出力を確認してください。

$ python FindDigits.py
876
✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabExでさらに多くの実験を行って練習してください。