Я хочу просмотреть множество файлов Excel в одной папке и извлечь информацию, содержащуюся в определенных вкладках, только если эти вкладки содержат определенное строковое значение. Так, например, одна электронная таблица может иметь 20 вкладок, но мне нужна только вкладка (и ее информация), которая содержит строку «Яблоки» где-то на этой вкладке. (Похоже, он всегда находится в первом ряду). Затем я хочу объединить все эти вкладки в одну электронную таблицу. Эта проблема уникальна из предыдущих вопросов SO, потому что мои вкладки не имеют одинакового имени. Иногда вкладка, которую я хочу, называется «Яблочный соус», а иногда - «Apple Jacks». Вот почему мне нужно искать строку в самой вкладке, и я не могу полагаться только на указание имени листа.
На данный момент я написал следующий код:
import pandas as pd
import os
root = r"my_dir"
agg_df = pd.DataFrame()
for directory, subdirectory, files in os.walk(root):
for file in files:
if file.endswith('.xlsm'):
filepath = os.path.join(directory, file)
# I want to do some kind of if statement here maybe to say if sheet_name.contains("Apples")
df_temp = pd.read_excel(filepath)
df_temp['Filepath'] = filepath
agg_df = agg_df.append(df_temp)