将文件夹内多个excel中,删除全部不符合配置文件中设定的sheet名称的工作表,配置文件要如何编写
时间: 2023-05-16 17:05:04 浏览: 47
对于这个问题,你可以使用 Python 编写一个脚本来实现。首先,你需要读取配置文件,可以使用 Python 内置的 ConfigParser 模块来实现。在配置文件中,你可以将需要保留的 sheet 名称以列表的形式存储。然后,你需要遍历文件夹中的所有 excel 文件,使用 openpyxl 模块来打开每个文件,并遍历每个工作表的名称。如果工作表的名称不在配置文件中指定的列表中,就可以使用 openpyxl 模块的 remove_sheet() 方法来删除该工作表。最后,你需要使用 save() 方法将修改后的 excel 文件保存。以下是一个简单的示例代码:
```python
import os
import configparser
from openpyxl import load_workbook
# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini')
sheet_names = config.get('SheetNames', 'names').split(',')
# 遍历文件夹中的所有 excel 文件
folder_path = 'path/to/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
file_path = os.path.join(folder_path, filename)
wb = load_workbook(file_path)
# 遍历每个工作表
for sheet_name in wb.sheetnames:
if sheet_name not in sheet_names:
# 删除不符合要求的工作表
wb.remove(wb[sheet_name])
# 保存修改后的 excel 文件
wb.save(file_path)
```