python - 如何在一个工作簿中复制工作表并仅将值粘贴到新工作簿中?
问题描述
我有一个包含很多公式的 excel 工作簿,当我尝试将工作簿上传到数据库时,带有 iferror 公式的单元格作为空白出现,即使它应该是字符串或数字。我是 python 新手,但我想创建一个将在工作表中读取的 python 文件,并且只将值粘贴到新工作簿中。
我试过了:
import openpyxl as xl
wb1 = xl.load_workbook('file1.xlsx')
ws1 = wb1["Sheet 1"]
wb2 = xl.load_workbook('file2.xlsx')
ws2 = wb2.create_sheet(ws1.title)
for row in ws1:
for cell in row:
ws2[cell.coordinate].value = cell.value
wb2.save('path')
该代码用于将数据复制到新工作簿中,但它正在粘贴公式。我只想要价值观。
解决方案
根据我之前的评论:
这来自OpenPyxl 文档:
在openpyxl.reader.excel.load_workbook
子模块上说明的地方,查看data_only
参数:
- data_only (bool) - 控制带有公式的单元格是否具有公式(默认)或 Excel 上次读取工作表时存储的值
默认值是Formulas
您想要的值。因此将其设置为 true:
wb = xl.load_workbook('file1.xlsx', data_only=True)
应该有帮助:)
推荐阅读
- swift - self.presentationMode.wrappedValue.dismiss() 在 SwiftUI 中不起作用
- text-extraction - 使用PyPDF2抓取PDF,数据不按顺序抓取!这是这个库的限制吗?
- azure - 使用自定义 ui 使用 Azure 托管应用程序创建 azure 管理组时出错
- java - spring端点SOAP请求有效负载子元素在嵌套命名空间时在XSD中解析为pojo时获取空值
- split - Payumey 拆分支付集成
- r - 查找变量的最大值
- java - 如何在 maven ~/.m2/settings.xml 中设置 jdk 11
- django - Django Signals 如何允许未经身份验证的用户发表评论?
- windows - Powershell将域用户添加到文件的ntfs权限
- reactjs - 为什么我在 react-native 中使用 forwardRef 时会出错?