Как обновить файл sh excel на компьютере, на котором не установлен Microsoft Excel (Python) - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть файл Excel размером около 37 МБ. Я читаю файл pd.read_excel() и обновляю спецификации c листов Excel с openpyxl и пишу обратно. После записи размер файла уменьшается до 16 МБ. Файл содержит функции на некоторых листах. Но, когда файл обновляется один раз, я не могу прочитать значения из листов, которые я прочитал значения ранее. Я думаю, это потому, что функции не обновляются после записи. Если я открою файл и снова сохраню его, значения будут доступны для чтения.

Я искал способы обновить sh файл excel после записи. Но для всех найденных методов требуется установка Excel на машину. Хотелось бы узнать, есть ли способ , мы можем обновить sh файл Excel, не открывая файл с помощью python.

Я обновляю файл следующим образом:

        # new dataframe with same columns
        df = data_frame
        writer = pd.ExcelWriter(folder_path, engine='openpyxl')
        # try to open an existing workbook
        writer.book = op.load_workbook(folder_path)
        # copy existing sheets
        writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
        # read existing file
        reader = pd.read_excel(folder_path, sheet_name=sheet_name)
        reader = reader.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
        # write out to the sheet
        df.to_excel(writer, sheet_name=sheet_name, index=False, header=False, startrow=len(reader) + 2)
        writer.save()

1 Ответ

0 голосов
/ 02 февраля 2020

ExcelWriter принимает «Путь к файлу xls или xlsx». в качестве первого аргумента, а не папки.

pd.ExcelWriter('path_to_file.xlsx')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...