ChatGTP スキルアップ プログラミング学習

【プログラミング】ChatGPTで学ぶPythonのファイル操作

記事内に商品プロモーションを含む場合があります

今回は、Pythonのファイル操作と遂に実践へと進んでいきます。
前回は【プログラミング】Python制御構文と関数をChatGPTで再確認をやったので、参考にしてみてください!!

このブログは、以前Pythonを学んでいたのですが、途中で挫折してしまった経験がある私が、今回はChatGPTを活用して、より効果的に学習を進める方法を試してみます。

プログラミング初心者である私が、どのようにしてPythonを習得していくのか、そのステップや学びのポイントを具体的にお伝えしていきます。私と一緒にPythonを学んでみませんか?日々の学習の中で感じたことや役立った情報をお届けします

Pythonの始め方についてはこちらの記事を参考にしてみてください!!

今回はファイル操作からやっていきます。

ブログ内のコードはコピーして使用できます

ステップ5: ファイル操作

ChatGPT
ChatGPT

1. ファイルの読み書き

Pythonでは、open()関数を使ってファイルを開き、読み書きを行います。

ファイルの書き込み

  • with構文: ファイルを開いて作業が終わったら、自動的に閉じるための方法です。リソース管理が簡単になります。
  • モード:
    • 'w': 書き込み(既存の内容を消去)
    • 'a': 追記(既存の内容を保持)

ファイルの読み込み

  • 'r'モード: 読み込み専用モードです。

ファイルの操作例

という内容です。
急に難しくなった感がありますが、頑張ってやっていきます。

練習問題

練習問題

  1. students.txtというファイルを作成し、学生の名前を1行ずつ書き込んでみましょう。その後、そのファイルを読み込んで内容を出力するプログラムを書いてみましょう。
  2. numbers.txtというファイルを作成し、1から10までの数字を1行ずつ書き込んでみましょう。その後、そのファイルを読み込んで、各数字の2倍を計算して出力するプログラムを書いてみましょう。

練習問題1

students.txtというファイルを作成し、学生の名前を1行ずつ書き込んでみましょう。その後、そのファイルを読み込んで内容を出力するプログラムを書いてみましょう。

とりあえず、ファイルの作成をしてテキストを入力していきます.
ファイル名はstudents.txtで作っていきます。

ファイルの内容を読み込んでみます

出力

問題なく、ファイルの内容が出力されました。

プログラムを実行している場所がファイルのあるディレクトリであることを確認してください。コマンドプロンプトやターミナルで実行する場合、cd コマンドで正しいディレクトリに移動してから実行してください。

練習問題2

numbers.txtというファイルを作成し、1から10までの数字を1行ずつ書き込んでみましょう。その後、そのファイルを読み込んで、各数字の2倍を計算して出力するプログラムを書いてみましょう。

こんな感じで書いていたのですが、めんどくさい!!
もっと簡単な方法はあるはず。。。
しかし、私にはわからなかったのでChatGPTさんに聞いてみました!!

ダダ
ダダ

練習問題2がわかりません!!
教えて下さい。

ChatGPT
ChatGPT

この問題をステップバイステップで解説します。まず、numbers.txtファイルに1から10までの数字を書き込み、その後そのファイルを読み込んで、各数字の2倍を計算して出力するプログラムを作成します。

ステップ1: ファイルに1から10までの数字を書き込む

解説:

  • open('numbers.txt', 'w'): 書き込みモードでnumbers.txtファイルを開きます。ファイルが存在しない場合は新しく作成されます。
  • for 数字 in range(1, 11): 1から10までの数字を順番に取得します。
  • ファイル.write(str(数字) + '\n'): 数字を文字列に変換してファイルに書き込み、各数字の後に改行を入れます。

ステップ2: ファイルを読み込んで各数字の2倍を計算して出力

解説:

  • open('numbers.txt', 'r'): 読み込みモードでnumbers.txtファイルを開きます。
  • ファイル.readlines(): ファイルの全ての行をリストとして読み込みます。
  • int(行.strip()): 行の改行を取り除き、文字列を整数に変換します。
  • 各数字の2倍を計算し、出力します。

このコードを実行すると、numbers.txtに1から10までの数字が書き込まれ、その数字を読み込んでそれぞれの2倍を出力します。

とこのように、詳しく丁寧に教えてくれました!!
わからないときには、自分がわからないポイントをChatGPTに伝えることで、丁寧に教えてくれました。

修正した物を実際に実行をしてみると無事にできました。

中には、わからないことも多くありますが、わからない部分もChatGPTに聞くことで解決をしていけました。

設定の仕方がわからない方はこちらに記事を参考にしてみてください

ステップ6: ファイル操作の応用と例外処理

ダダ
ダダ

無事に練習問題が終わりました。

ChatGPT
ChatGPT

素晴らしいですね!次はファイル操作の応用編として、もう少し高度なファイル操作や例外処理について学びましょう。

ステップ6: ファイル操作の応用と例外処理

1. ファイルの追記

既存のファイルに新しいデータを追加する方法です。

ファイルの追記例

  • 'a' モードを使用して、ファイルの末尾にデータを追加します。

2. ファイルの例外処理

ファイル操作中にエラーが発生した場合に適切に対処するための方法です。

例外処理の例

  • try ブロック: 通常の処理を記述します。
  • except ブロック: 特定のエラーが発生したときに実行されるコードを記述します。

3. CSVファイルの操作

CSVファイル(Comma Separated Values)は、データをカンマ区切りで保存する一般的なフォーマットです。

CSVファイルの読み込みと書き込み

  • csv.writer: CSVファイルに書き込むためのオブジェクトを作成します。
  • csv.reader: CSVファイルを読み込むためのオブジェクトを作成します。

練習問題

練習問題

  1. numbers.txtファイルに11から20までの数字を追記し、その後ファイルを読み込んで各数字の2倍を出力するプログラムを書いてみましょう。
  2. 存在しないファイルを読み込もうとするプログラムを書き、その際に適切なエラーメッセージを表示するように例外処理を追加してみましょう。
  3. data.csvというCSVファイルを作成し、名前、年齢、性別のデータを3行書き込むプログラムを書いてみましょう。その後、そのCSVファイルを読み込んで内容を出力するプログラムを書いてみましょう。

練習問題1

numbers.txtファイルに11から20までの数字を追記し、その後ファイルを読み込んで各数字の2倍を出力するプログラムを書いてみましょう。

解説にあったコードをそのままコピペして使ってみました!!

問題なく、出力ができました!!

練習問題2

存在しないファイルを読み込もうとするプログラムを書き、その際に適切なエラーメッセージを表示するように例外処理を追加してみましょう。

先程の続きから、プログラムを追加していきます!!

実際に、ファイル名を変えて出力咲いてみました!!

num.txtに変更してプログラムを実行すると

と出力されました。これができるとエラー文が出たときに対応が簡単になりますね。

練習問題3

data.csvというCSVファイルを作成し、名前、年齢、性別のデータを3行書き込むプログラムを書いてみましょう。その後、そのCSVファイルを読み込んで内容を出力するプログラムを書いてみましょう。

これも、ChatGPTの解説の中にあった物をそのまま使いました。
しかし、ここで一つ問題が発生、CSVファイルを作ってその中にデータを書き込んで見たのですが正常に出力はされるけど、ファイルを見ると文字化けしているんです。

CSVファイルを読み込むときに、種類が違うと文字化けが起こるようです。

解決方法

UTF-8の部分をいじると治ります。

文字化けの修正については、こちらの記事がわかりやすかったですよ!!
【VSCode】文字化けを解消する方法この方法を見て修正をしました。

まとめ

無事、これでファイル操作の内容は一通り終わりました。
この記事を見た方の中には、ただコードをコピーして楽に済ませているのでは?と思っておられる方もいるかも知れませんが、私としては、プログラムのコードがこんな感じで動いていて、どのように出力されるかを見るだけでも勉強になっておます

実際に、このブログ内のコードをコピーして使用して、プログラムのコードがどのように動いているの確認してみるのも楽しいですよ!!
今まで、書籍などで勉強もしてきましたが、本に書いてあるコードをキーボードで1から打ち込む作業だけでもかなりの時間がかかっていました。その部分が短縮されるだけでも学習時間の短縮はかなりできるものだと思っています。

あなたも一緒にプログラミングを学んでみませんか?

もしわからないことがあれば、このブログやXに質問等を投げていただければと思います。また、コミュニティもやっっているのでそちらから質問を投げていただいても大丈夫ですよ!!

Xのアカウントはこちら

ダダのアカウント

Discordコミュニティ

ハピッツカフェ

プログラミングを視覚的に理解したい方やプログラミングで絵を書いてみたい方はUdemyで講座も作っているのでこちらも参考にしてみてください

Udemy講座

Processing Python講座

ChatGPTでPythonの学習を始めてみたい方は以下の記事を参考にしてみてください

ChatGPTはプログラミングの学習はできても、人のつながりまでは作ってくれません。
プログラミングの学習だけではなく、人との繋がりを作ってくれるスクールもオススメです。
気になる方は無料相談からでも体験してみてください!!

テックアカデミー無料メンター相談

次回の記事はこちらから

-ChatGTP, スキルアップ, プログラミング学習
-, , , , ,