我的文件夹中没有几个.xlsx
文件。每个文件包含30多个工作表。我正在尝试在每个文件(通常是每个文件的最后一张)中保留一个特定的工作表(名称相同)。
以下代码仅对文件夹中的一个文件有效;它不会通过每个人。
import openpyxl, glob
for file in glob.glob('*.xlsx'):
wb = openpyxl.load_workbook(file)
for sheetName in wb.worksheets:
if sheetName.title != 'abc':
wb.remove(sheetName)
wb.save(file)
我在做什么错了?
答案 0 :(得分:1)
您的缩进不正确。在Python中,缩进表示代码块的结束
import openpyxl, glob
# This loops through all of the workbooks
for file in glob.glob('*.xlsx'):
wb = openpyxl.load_workbook(file)
# Now, once all of the workbooks have been looped through, only the last one is edited
for sheetName in wb.worksheets:
if sheetName.title != 'abc':
wb.remove(sheetName)
wb.save(file)
尝试一下
import openpyxl, glob
for file in glob.glob('*.xlsx'):
wb = openpyxl.load_workbook(file)
for sheetName in wb.worksheets:
if sheetName.title != 'abc':
wb.remove(sheetName)
wb.save(file)