python - 将excel公式保存在DataFrame中,然后写入excel
问题描述
有一个小的数据框df。我想将其写入 Excel,以便 B 列包含公式:B=A+C
df = pd.DataFrame(np.random.randint(0,1000,size=(3,3)), columns=list('ABC'))
df['B']='=RC[-1]+RC[1]'
with pd.ExcelWriter(r'C:\Users\belose\Downloads\output.xlsx', engine='openpyxl', mode='w')as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
然后 Excel 根本无法识别 B 列的内容并发送错误消息。
我做错了什么?
解决方案
试试这个公式:
df = pd.DataFrame(np.random.randint(0,1000,size=(3,3)), columns=list('ABC'))
df['B'] = '=INDIRECT("R[0]C[-1]", 0)+INDIRECT("R[0]C[1]", 0)'
with pd.ExcelWriter(r'output.xlsx', engine='openpyxl', mode='w')as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
输出:
您也可以通过给出“A”和“C”列相对于“B”的位置而不是 -1 和 1 来即兴发挥这一点。
df['B'] = '=INDIRECT("R[0]C[%s]", 0)+INDIRECT("R[0]C[%s]", 0)'%\
(df.columns.get_loc('A') - df.columns.get_loc('B'),
df.columns.get_loc('C') - df.columns.get_loc('B'))
推荐阅读
- reactjs - 将新数组对象添加到 react redux reducer 中的嵌套数组和 store 更新中的数组,但不添加 react 组件
- python - django.core.exceptions.ImproperlyConfigured:在 MacOS 上加载 MySQLdb 模块时出错
- excel - 带有宏的 Excel 在 OS X 的 Mac 上的 Office 365 中不起作用
- .net - 在发送电子邮件期间获取属性“PermissionTemplateGuid”引发异常“操作失败”
- config - 实体配置中字段的不可设置类型不允许空值
- solr - 如何在solr中找到分片的大小?
- android - 底部导航视图项内的片段
- symfony - DateType 字段只有月份和年份 Symfony 5
- cmake - Cmake/Msbuild 无法构建 VCTargetsPath.vcxproj
- javascript - 如何在javascript中强制下载aws生成的文件(公共)