Но когда я открываю файл Excel и пытаюсь сохранить его после изменения, я получаю сообщение о нарушении общего доступа от Excel.
Я используя Spyder, и если я перезапущу ядро, я больше не получаю эту ошибку, поэтому есть обходной путь, поэтому нет срочности в ответе. Но я думаю, было бы неплохо иметь простой способ решения этой проблемы.
Я использую python 3.11, pandas 2.2.2, openpyxl 3.1.2
Вот фрагмент моего кода:
Код: Выделить всё
import pandas as pd
import os
"""I first open the file, which is, and was working perfectly fine before"""
path_to_excel = os.path.realpath(r"Something\Something\myfile.xlsx")
df_excel = pd.read_excel(io=path_to_excel ,sheet_name='Sheet 1', index_col=2)
"""Some code to build a new dataframe called df_new"""
"""Then I append df_new to myfile.xlsx"""
with pd.ExcelWriter(path=path_to_excel, mode='a',if_sheet_exists="replace",engine="openpyxl") as Writer:
df_new.to_excel(excel_writer=Writer,sheet_name="Sheet 2",float_format="%.2f",index_label="Cool index name")
"""I also tried to write it this way, but the result is the same"""
Writer = pd.ExcelWriter(path=path_to_excel, mode='a',if_sheet_exists="replace",engine="openpyxl")
df_new.to_excel(excel_writer=Writer,sheet_name="Sheet 2",float_format="%.2f",index_label="Cool index name")
Writer.close()
Writer.handles=None
Подробнее здесь: https://stackoverflow.com/questions/785 ... -when-edit