繁体   English   中英

如何在未安装 Microsoft excel 的机器上刷新 excel 文件(Python)

[英]How to refresh excel file on a machine which doesn't have Microsoft excel installed (Python)

我有这个大约 37MB 的 excel 文件。 我正在阅读文件pd.read_excel()并使用openpyxl更新 Excel 的特定工作表并写回。 写入后,文件大小将减少到 16MB。 该文件包含某些工作表中的函数。 但是,当文件更新一次时,我无法从我之前读取值的工作表中读取值。 我认为,这是因为写入后函数没有更新。 如果我打开文件并再次保存文件,则这些值是可读的。

我一直在寻找写入后刷新excel文件的方法。 但是,找到的所有方法都需要在机器中安装excel。 想知道是否有办法可以在不使用 python 打开文件的情况下刷新 excel 文件

我正在更新文件如下:

        # 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()

ExcelWriter采用“xls 或 xlsx 文件的路径”。 作为第一个参数不是文件夹。

pd.ExcelWriter('path_to_file.xlsx')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM