Saltar al contenido

Cómo comprobar si los archivos .xls y .csv están vacíos

Solución:

Esto es simple en pandas con el método .empty. Hacer esto

import pandas as pd

df = pd.read_csv(filename) # or pd.read_excel(filename) for xls file
df.empty # will return True if the dataframe is empty or False if not.

Esto también devolverá True para un archivo con solo encabezados como en

>> df = pd.DataFrame(columns = ['A','B'])
>> df.empty
   True

Pregunta 1: ¿Cómo verifico que todo el archivo .xls esté vacío?

def readfile(fullpath):

    xls = xlrd.open_workbook(fullpath)

    is_empty = None

    for sheet in xls.sheets():
        number_of_rows = sheet.nrows

        if number_of_rows == 1:
            header = sheet.row_values(0)  
            # then If it contains only headers I want to treat as empty
            if header:
                is_empty = False
                break

        if number_of_rows > 1:
            is_empty = False
            break

        number_of_columns = sheet.ncols
        sheetname = sheet.name

    if is_empty:
        print('xlsx ist empty')

Pregunta 2: Cómo verifico el encabezado del archivo. Si el archivo solo tiene un encabezado (me refiero a una sola fila), necesito tratar que el archivo esté vacío. ¿Cómo puedo hacer eso?

import csv
with open('test/empty.csv', 'r') as csvfile:
    csv_dict = [row for row in csv.DictReader(csvfile)]
    if len(csv_dict) == 0:
        print('csv file is empty')

Probado con Python: 3.4.2

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *