Для работы с Excel установлены pandas и openpyxl:
pip install pandas
pip install openpyxl
pip install pandas[openpyxl]
Если потребовалось добавить таблицу, представленную в виде pandas DataFrame, в ранее созданный файл Excel с учётом листа (sheet), то можно использовать простую функцию:
def append_to_excel_if_sheet_is_exists(
writer: ExcelWriter,
sheet_name: str,
df: pd.Dataframe,
index_label=None,
divide_with_blank_rows: bool = False):
sheet = writer.sheets.get(sheet_name)
if not sheet:
df.to_excel(writer, sheet_name=sheet_name,
index_label=index_label)
else:
start_row = sheet.max_row # последняя пустая строка
if divide_with_blank_rows:
start_row += 2
df.to_excel(writer, sheet_name=sheet_name,
index_label=index_label,
startrow=start_row)
# укажем путь к файлу
abs_filepath = Path("output.xlsx")
# создадим объект writer
writer = ExcelWriter(abs_filepath, engine='openpyxl')
# добавим данные
append_to_excel_if_sheet_is_exists(writer,
sheet_name="Лист в Excel",
df=df, # ваш DataFrame
index_label="Название таблицы (подпись в левом верхнем углу)",
divide_with_blank_rows=True, # отделить новый DataFrame парой пустых строк)