在python中,使用openpyxl模块,以及xlsxwriter引擎,指定文件夹,遍历全部excel,对所有sheet进行去函数化。
时间: 2024-05-09 16:21:02 浏览: 103
以下是一个示例代码,可以实现指定文件夹下的所有excel文件的所有sheet的去函数化操作:
```python
import os
import openpyxl
import xlsxwriter
# 指定要处理的文件夹路径
folder_path = "/path/to/folder"
# 遍历文件夹下的所有文件
for filename in os.listdir(folder_path):
if filename.endswith(".xlsx"):
# 打开excel文件
wb = openpyxl.load_workbook(os.path.join(folder_path, filename))
# 创建一个新的excel文件,用于保存去函数化后的结果
output_wb = xlsxwriter.Workbook(os.path.join(folder_path, "去函数化_" + filename))
# 遍历所有sheet
for sheet_name in wb.sheetnames:
# 获取当前sheet
ws = wb[sheet_name]
# 创建一个新的sheet,用于保存去函数化后的结果
output_ws = output_wb.add_worksheet(sheet_name)
# 遍历所有单元格,将公式替换为值
for row in ws.rows:
for cell in row:
if cell.data_type == "f":
cell.value = cell.value
# 将去函数化后的数据写入新的sheet
for row in ws.rows:
for cell in row:
output_ws.write(row, col, cell.value)
# 关闭工作簿
output_wb.close()
```
注意,上述代码中的路径需要根据实际情况进行修改。此外,如果需要去除部分特定的函数,可以将if语句中的条件进行修改。
阅读全文