Überprüfen Sie, ob die Datei in Python leer ist

Salman Mehmood 21 Juni 2023
  1. Überprüfen Sie die leere Textdatei in Python
  2. Überprüfen Sie die leere Excel-Datei in Python
  3. Überprüfen Sie die leere CSV-Datei in Python
Überprüfen Sie, ob die Datei in Python leer ist

Wir werden lernen, wie man überprüft, ob Dateien leer sind oder nicht. Wir werfen auch einen Blick auf verschiedene Probleme, die beim Überprüfen einer leeren Datei in Python aufgetreten sind.

Überprüfen Sie die leere Textdatei in Python

Wenn Sie eine Stapelverarbeitung durchführen oder diesen Teil eines größeren Prozesses verarbeiten, werden Sie keine Ausgabe auf einem Bildschirm anzeigen. Sie würden verschiedene Warnungen haben, um Sie darüber zu informieren, was vor sich geht, damit Sie Dinge unterbrechen und beheben können.

Aber für diese Demonstration haben wir drei Dateien erstellt, csv, text und excel; alle drei sind leer. Wir möchten Ihnen zeigen, dass wir den Code sehr schnell eingeben.

In unserem Fall haben die Dateigrößen 0 KB, weil unsere Dateien leer sind, aber in Ihrem Fall können die Größen unterschiedlich sein, obwohl Sie eine leere Datei haben. Dateigrößen sind wichtig, wenn wir überprüfen, ob eine Datei leer ist, da wir die Dateigröße in unserem Python-Code verwenden.

Jetzt werden wir in den Code springen, um zu testen, ob eine Textdatei leer ist oder nicht, und um zu testen; Wir importieren die Klasse Path aus dem Modul pathlib. Die Klasse Path gibt uns Zugriff auf das Verzeichnis der Strichpfade entweder auf unserem lokalen Laufwerk oder möglicherweise auf unserem Netzlaufwerk oder wo auch immer der tatsächliche Pfad zur Datei ist.

Zuerst definieren wir eine Funktion namens If_TextFileEmpty() und erstellen innerhalb der Funktion eine Variable namens my_file. Wir rufen die Klasse Path() auf und definieren den Pfad einer Datei; Wir setzen r vor den String, um einen Unicode-Fehler zu vermeiden.

my_file = Path(r"C:\Users\Dell\Desktop\demo\files\Mytextfile.txt")

Nun definieren wir mit der Methode is_file() eine einfache Prüfung, ob eine der beiden Dateien existiert. Wir werden den nächsten Block definieren, um zu prüfen, ob eine Datei leer ist, indem wir die Funktion getsize() aus dem os-Modul verwenden.

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()

In beiden Fällen wird, wenn die if-Anweisung keinen True-Wert findet, der else-Block ausgeführt.

This file exists, ok!
This is an empty file.

Überprüfen Sie die leere Excel-Datei in Python

Es gibt ein Problem mit dem obigen Code; Wir haben eine leere Datei, aber ihre Größe beträgt nicht 8 KB. Es wird mit CSV- oder Excel-Dateien gesehen.

Da wir eine Excel-Datei haben und diese 8 KB groß ist, verwenden wir einen anderen Ansatz.

Um diesen Ansatz zu verwenden, importieren wir die Bibliothek pandas und rufen die Methode read_excel() auf, die eine Excel-Datei liest. Mit der if-Anweisung prüfen wir mit einer Eigenschaft namens empty, ob diese Excel-Datei leer ist und geben einen booleschen Wert zurück.

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()

Ausgang:

This excel file is empty.

Überprüfen Sie die leere CSV-Datei in Python

Aber der obige Code funktioniert nicht mit der csv-Datei und löst einen Fehler aus, weil dies eine leere Datei ist und wir Python anweisen, diese Datei zu lesen. In diesem Fall beginnt es mit dem Lesen, findet keine Spalte und löst eine Ausnahme aus.

File "pandas\_libs\parsers.pyx", line 549, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file

Wir werden diese Ausnahme im try-Block abfangen. Wir müssen keine leere Eigenschaft verwenden; offensichtlich wird es in den außer-Block gehen, wenn der try-Block eine Ausnahme abfängt.

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()

Ausgang:

This CSV file is empty.
Salman Mehmood avatar Salman Mehmood avatar

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

Verwandter Artikel - Python File