Python で「with」を使用してファイルを開く方法 (例を含む)
次の構文を使用して、Python でファイルを開き、そのファイルに対して何らかの処理を行ってから、ファイルを閉じることができます。
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
この方法の問題は、ファイルを閉じるのを忘れやすいことです。
より良いアプローチは、次の基本構文を使用するopen と併用することです。
with open (' my_data.csv ') as file: df = file. read () print (df)
このアプローチを使用すると、作業中のファイルは自動的に閉じられるため、 file.close()を使用することを覚えておく必要はありません。
次の例は、さまざまなシナリオでopen を使用する方法を示しています。
例 1: With ステートメントを使用してファイルを読み取る
次のコードは、「with」ステートメントを使用して Python でファイルを読み取り、ファイルの内容を出力する方法を示しています。
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
ファイルの内容が出力され、 file.close()を入力しなくてもファイルは自動的に閉じられます。
例 2: With ステートメントを使用してファイルを書き込む
次のコードは、「with」ステートメントを使用してテキストをファイルに書き込む方法を示しています。
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
open()ステートメントの「 w 」は、ファイルに対して読み取りモードではなく「書き込み」モードを使用するように Python に指示することに注意してください。
例 3: With ステートメントを使用してファイルの読み取りと書き込みを行う
単一の「with」ステートメントで複数のファイルを一度に開くこともできます。
次のコードは、「with」ステートメントを使用して 2 つのファイルを開き、一方のファイルの内容を読み取り、最初のファイルの内容を 2 番目のファイルに書き込む方法を示しています。
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
「data_out.csv」を書き込んだ場所に移動すると、ファイルの内容を表示できます。
open()関数を使用すると、単一の “with” ステートメントで必要なだけファイルを開くことができることに注意してください。
追加リソース
次のチュートリアルでは、Python で他の一般的な操作を実行する方法について説明します。
PandasでCSVファイルを読み取る方法
Pandas で Excel ファイルを読み取る方法
Pandasでテキストファイルを読む方法