如何解决从 openpyxl 到 xlwings
我的任务:使用宏在已有的 Excel 电子表格中自动执行一些计算。
问题:我使用 openpyxl 这样做只是后来意识到一旦保存新文件就不会保留宏(如果将新文件保存为 xlsm,它会损坏,如果将其保存为 xlsx - 宏不是保存)。我在网上尝试了一些建议的解决方案(都没有奏效),以保存运行良好的 xlsm。
我想我可能应该在 xlwings 中进行数据操作,据说它会保留宏。但是,我一直在努力使我的 openpyxl 代码适应 xlwings:
#Z-scores
df_excel=pd.read_excel("zz3.xlsm",engine="openpyxl")
df_name=df_excel[["Name"]]
df_excel=pd.read_excel("zz3.xlsm",engine="openpyxl",index_col=None,usecols="GN:IV")
df_zscore=(df_excel-df_excel.mean())/df_excel.std()
df55=pd.DataFrame()
df55=df_zscore.copy()
df55["Name"]=df_name.copy()
cols=list(df55.columns)
cols=[cols[-1]]+cols[:-1]
df55=df55[cols]
print(df55)
writer=pd.ExcelWriter("zz3.xlsx",engine="openpyxl")
df55.to_excel(writer,sheet_name="Skew scores",index=False)
writer.save()
#12-month moving averages
df_excel=pd.read_excel("zscores.xlsm",engine="openpyxl")
df_ma12=df_excel.rolling(12).mean()
print(df_ma12)```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。