Пропуск пустых листов в книге Excel с использованием python

#python #pandas

Вопрос:

Я просматриваю список листов в рабочей книге и делаю некоторые вычисления на каждом листе. Сценарий возвращал ошибку из-за нескольких пустых листов в рабочей книге. Чтобы преодолеть эту проблему, я использовал команду try..except. Сейчас скрипт запускается без каких-либо ошибок, но не возвращает никаких результатов.

Важно отметить, что первый лист и некоторые другие листы в рабочей книге пусты.

 
for sheet in sheet_names:
        try:
            traffic_data=pd.read_excel(file_path,sheet_name=sheet)                      
            traffic_data2=traffic_data[traffic_data["Time"]=="00-24"]
            24avrg=traffic_data2/24
                
        except:
            pass 

 

Есть ли способ пропустить все пустые листы (или вернуть для них значение 0) и рассматривать только те листы, на которых есть данные?

Ответ №1:

Надеюсь, это может быть полезно для вашего вопроса. Вы можете удалить пустую строку следующим образом:

 with open(filename) as f_in:
    lines = filter(None, (line.rstrip() for line in f_in))
 

или

Вы можете попробовать непосредственно удалить данные после их прочтения в своей функции

 data = [l for l in (line.strip() for line in f) if l]