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)