Python でファイルが空かどうかを確認する
ファイルが空かどうかを確認する方法を学びます。 また、Python で空のファイルをチェックしているときに発生したさまざまな問題についても調べています。
Python で空のテキスト ファイルを確認する
バッチ処理を行っている場合、またはより大きなプロセスのその部分を処理している場合は、画面に何も出力しません。 何が起こっているかを知らせるためにさまざまなアラートが表示されるため、中断して修正することができます。
しかし、このデモンストレーションでは、csv
、text
、および excel
の 3つのファイルを作成しました。 3つすべてが空です。 コードを非常に迅速に入力することをお見せしたいと思います。
私たちの場合、ファイルが空であるため、ファイル サイズは 0 kb ですが、あなたの場合は、空のファイルがあってもサイズが異なる場合があります。 Python コードでファイル サイズを使用するため、ファイルが空かどうかを確認する場合、ファイル サイズは重要です。
ここで、テキスト ファイルが空かどうかをテストするコードに飛び込み、テストします。 pathlib
モジュールから Path
クラスをインポートします。 Path
クラスを使用すると、ローカル ドライブまたは場合によってはネットワーク ドライブ上にあるストローク パスのディレクトリにアクセスできます。また、ファイルへの実際のパスがある場所にアクセスすることもできます。
まず、If_TextFileEmpty()
という関数を定義し、関数内に my_file
という変数を作成します。 Path()
クラスを呼び出して、ファイルのパスを定義します。 Unicode エラーを避けるために、文字列の前に r
を置きます。
my_file = Path(r"C:\Users\Dell\Desktop\demo\files\Mytextfile.txt")
次に、is_file()
メソッドを使用して、いずれかのファイルが存在するかどうかの基本的なチェックを定義します。 os
モジュールの getsize()
関数を使用して、ファイルが空かどうかをチェックする次のブロックを定義します。
from pathlib import Path
import os
def If_TextFileEmpty():
my_file = Path(r"C:\Users\Dell\Desktop\demo\files\Mytextfile.txt")
if my_file.is_file():
print("This file exists, ok!")
else:
print("This file does not exists, make sure are putting correct path")
if os.path.getsize(my_file) > 0:
print("This file is not an empty file, process done!")
else:
print("This is an empty file.")
If_TextFileEmpty()
どちらの場合も、if
ステートメントで True
値が見つからない場合は、else
ブロックが実行されます。
This file exists, ok!
This is an empty file.
Python で空の Excel ファイルを確認する
上記のコードには問題があります。 空のファイルがありますが、そのサイズは 8kb ではありません。 CSV
または Excel
ファイルで見られます。
Excel ファイルがあり、そのサイズは 8kb であるため、別のアプローチを使用します。
このアプローチを使用するには、pandas
ライブラリをインポートし、Excel ファイルを読み取る read_excel()
メソッドを呼び出します。 if
ステートメントを使用して、empty
というプロパティを使用して、この Excel ファイルが空であるかどうかを確認し、ブール値を返します。
import pandas as pd
def IsExcelFileEmpty():
My_Excelfile = pd.read_excel(
"C://Users//Dell//Desktop//demo//files//myexcelfile.xlsx"
)
if My_Excelfile.empty:
print("This excel file is empty.")
else:
print("This excel file is not empty.")
IsExcelFileEmpty()
出力:
This excel file is empty.
Python で空の CSV ファイルを確認する
しかし、上記のコードは csv
ファイルでは機能せず、これは空のファイルであり、このファイルの読み取りについて Python に指示しているため、エラーが発生します。 この場合、読み取りが開始され、列が見つからず、例外が発生します。
File "pandas\_libs\parsers.pyx", line 549, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
try
ブロックでこの例外をキャッチします。 empty
プロパティを使用する必要はありません。 明らかに、try
ブロックが例外をキャッチすると、except
ブロックに入ります。
import pandas as pd
def If_csvfileEmpty():
try:
My_csvFile = pd.read_csv("C://Users//Dell//Desktop//demo//files//mycsvfile.csv")
except:
print("This CSV file is empty.")
else:
print("This CSV file is not empty.")
If_csvfileEmpty()
出力:
This CSV file is empty.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn