[英]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.