#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]