【Python】ファイル読み込みをしたい

【Python】ファイル読み込みをしたい

はじめに

コジマです。

Pythonを使ってファイルの読み込みをしていこうと思います。

基本的な処理の流れ

  1. ファイルを開く(open関数)
  2. for文で一行ずつ読み込む
  3. ファイルを閉じる(close関数)

以上。
他にも調べると色々やり方はあるけど、今回は3パターン紹介します。

サンプルコード

多分一番簡単なやつ

open関数でファイルを開いて、
for文で読んで
close関数で閉じます。

#############
# 多分一番簡単
#############

#ファイルを開く
hoge = open("hoge.txt","r")

#ファイルを読み込む
for line in hoge:
    print("--------------") #一行ごとに読み込んでることをわかりやすくしてるだけ
    print(line)
    
# ファイルを閉じる
hoge.close()

出力

こんな感じで出力されます。

--------------
1行目のテキスト

--------------
2行目のテキスト

--------------
3行目のテキスト

--------------
4行目のテキスト

--------------
5行目のテキスト

--------------
6行目のテキスト

--------------
7行目のテキスト

--------------
8行目のテキスト

--------------
9行目のテキスト

--------------
10行目のテキスト

出力できたけど、改行が混ざってますね。
ちょっと見た目がカッコ悪いです。

改行を消す方法があります。

strip関数で改行を消す

改行を消すためにはstrip関数を使用します。

#############
# 改行を消す
#############

#ファイルを開く
hoge = open("hoge.txt","r")

#ファイルを読み込む
for line in hoge.readlines():
    print("--------------")
    print(line.strip()) # strip関数を使う
    
# ファイルを閉じる
hoge.close()

出力

このように改行を消すことができます。

--------------
1行目のテキスト
--------------
2行目のテキスト
--------------
3行目のテキスト
--------------
4行目のテキスト
--------------
5行目のテキスト
--------------
6行目のテキスト
--------------
7行目のテキスト
--------------
8行目のテキスト
--------------
9行目のテキスト
--------------
10行目のテキスト

一回一回closeしていくのめんどくさいですよね。
それを解消する方法があります。

withを使ってcloseを省略

withを使用するとclose関数が不要になります。
with句を抜けるタイミングでファイルがクローズされます。

#############
# withを使う
# close不要になる
#############

#ファイルを読み込む
with open("hoge.txt","r") as f:
    for line in f:
        print("--------------")
        print(line.strip()) # strip関数を使う

出力はさきほどと同じになるので省略です。
withを使ったときはas fとするのが通例?っぽいので倣いました。
もちろんas hogeとしても問題ないです。

さいごに

今回はファイルを読み込む方法について書きました。

ポイントとしては

  • openでファイルを開いてcloseで閉じる
  • strip関数で改行を消す
  • withを使えばclose不要になる

こんな感じです。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

もっと学びたい人はこちら

Python、機械学習をもっと学びたいという人のためにおすすめのUdemy講座を紹介いたします!

Pythonの基本文法を押さえたい方はこちらの動画がおすすめです。
エンジニアになりたいと思って駆け出した方がPythonを選んだときはこの講座から始めるとよいと思います。
Python 3 エンジニア認定基礎試験の対策にもなります。
はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス

プログラムの基礎が分かる方で機械学習に興味がある方はこちらがおすすめです。
SIGNATEという日本版Kaggleのサービスを実際に使用してハンズオン形式でデータ分析・機械学習を学ぶことができます。
もちろんこの動画だけで特級のデータサイエンティストになれるわけではないですが、機械学習の門を叩くにはとても良い講座だと思います。
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

Pythonのライブラリで必ず押さえておきたいのがNumpy, Pandas, Matplotlibの3つ。
この3つを網羅的に学ぶことができる講座です。
英語の講座ですが、わかりやすい英語ですし、ソースコードメインで解説しているので
ソースコードを一緒に手を動かしながら学べば十分理解することができます。
機械学習を使わない人にもおすすめの講座です。
2021 NumPy, Pandas and Matplotlib A-Z™: for Machine Learning

気になった人はぜひ見てみてくださいね!

以上、コジマでした。


Pythonカテゴリの最新記事