1、手动删除
少量表格,简单粗暴,表格成百上千,删除到猴年马月?不妨尝试脚本自动删除
2、脚本删除
2.1使用场景
以如下表格为例,删除B列为空所在的行(例如蓝色部分),同时删除K列(黄色部分)
删除后### 2.2删除思路
1)引入库文件
以下是删除多张表格的L列的范例代码:
下面展示一些 内联代码片。
//引入库文件
import os
import openpyxl;
2)构造删除指定行和列的函数体
以下是删除多张表格的L列的范例代码:
下面展示一些 内联代码片。
//引入库文件
def delete_column_and_rows(file_path, target_folder, column_index, start_row):
# 1、加载工作簿
wb = openpyxl.load_workbook(file_path)
# 2、删除指定行
for sheet in wb.worksheets:
rows_to_delete = []
for row in range(start_row, sheet.max_row + 1):
cell_value = sheet.cell(row=row, column=2).value
if cell_value is None or (isinstance(cell_value, str) and cell_value.strip() == ""):
rows_to_delete.append(row)
for row in reversed(rows_to_delete):
sheet.delete_rows(row)
# 3、删除指定列
# Step1:检查某个列索引是否在工作表的列范围内
# Step2:删除指定列column_index
if column_index <= sheet.max_column: # max_column属性用于获取工作表中最大的列索引
sheet.delete_cols(column_index)
# 4、构建新的文件路径
new_file_path = os.path.join(target_folder, os.path.basename(file_path))
# 5、保存修改后的工作簿到新位置
wb.save(new_file_path);
3)参数说明
//参数说明
# 源文件夹路径
source_folder = 'C:/Users/27411/Desktop/test/before/N11'
# 目标文件夹路径
target_folder = 'C:/Users/27411/Desktop/test/after'
# 如果目标文件夹不存在,则创建它
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 第L列的索引(例如,第3列就是索引3)
column_index = 12 # 应该用实际的列号替换L
# 开始删除行的位置
start_row = 5 # 从第5行开始删除
# 执行删除指定行和列的行数
for file_name in os.listdir(source_folder):
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
file_path = os.path.join(source_folder, file_name) # 构造完整的excel文件路径
delete_column_and_rows(file_path, target_folder, column_index, start_row) # 调用函数;
3使用途径
3.1代码运行
适用人员:具有一定编程基础,根据上述代码思路可以修改参数。
3.2exe文件运行
适用人员:不具备编程基础。
exe文件:删除L列和B列为空所在行.exe
获取途径:下载exe文件
使用方式说明:
1)删除场景:删除多张表格的L列内容、B列为空所在的行内容(从第5行开始)
2)待处理表格的存放的路径:C:/Users/27411/Desktop/test/before/N11
3)处理后表格存放的路径:C:/Users/27411/Desktop/test/after
将2)和3)的路径准备好,运行后即可得到处理后的表格