用python批量将多个excel内的多个sheet公式转数字
时间: 2023-05-16 22:04:57 浏览: 137
可以使用openpyxl库来实现这个功能。首先,需要安装openpyxl库,然后使用以下代码:
```python
import openpyxl
# 打开excel文件
workbook = openpyxl.load_workbook('filename.xlsx')
# 遍历所有的sheet
for sheet in workbook.worksheets:
# 遍历所有的单元格
for row in sheet.rows:
for cell in row:
# 如果单元格中有公式,将其转换为数字
if cell.data_type == 'f':
cell.value = cell.value
# 保存修改后的excel文件
workbook.save('filename.xlsx')
```
这段代码会将指定的excel文件中所有sheet中的公式转换为数字,并保存修改后的文件。
相关问题
使用python,选择文件夹,批量将文件夹内的多个excel中的多个sheet公式转数字
你可以使用Python中的pandas库来实现这个功能。以下是一个示例代码:
```python
import os
import pandas as pd
# 选择文件夹
folder_path = input("请输入文件夹路径:")
# 遍历文件夹内的所有Excel文件
for file_name in os.listdir(folder_path):
if file_name.endswith(".xlsx"):
file_path = os.path.join(folder_path, file_name)
print("正在处理文件:", file_path)
# 读取Excel文件中的所有sheet
excel_file = pd.ExcelFile(file_path)
for sheet_name in excel_file.sheet_names:
print("正在处理sheet:", sheet_name)
# 读取sheet中的数据
df = pd.read_excel(excel_file, sheet_name=sheet_name, header=None)
# 将公式转换为数字
df = df.apply(pd.to_numeric, errors="coerce")
# 将处理后的数据写回Excel文件
with pd.ExcelWriter(file_path, mode="a", engine="openpyxl") as writer:
df.to_excel(writer, sheet_name=sheet_name, header=None, index=False)
```
这个代码会遍历指定文件夹内的所有Excel文件,并将每个文件中的所有sheet中的公式转换为数字。注意,这个代码只会处理.xlsx格式的Excel文件,如果有.xls格式的文件需要处理,需要将代码中的".xlsx"改为".xls"。
阅读全文