本文摘要
这篇分享了一个用 Python 批量压缩 Excel 文件的脚本,通过 openpyxl 遍历当前目录下所有 .xlsx 文件,删除其中的空行和空列,并以「_压缩后」为后缀另存,从而减小体积、加快打开速度。文中给出了安装依赖、放置文件、命令行运行等步骤,并提醒该方法无法解决图片导致的文件过大问题,运行前需备份原始文件。

⚠️ 温馨提示

该脚本删除多余空行以达到压缩目的,对于Excel中插入图片导致文件太大无法解决哦~ 效果怎么样?用过的都说好!

·#(抠鼻)直接上代码Python代码:

import openpyxl
import os
# 获取当前工作目录
current_directory = os.getcwd()
# 列出当前目录下的所有文件
files_in_directory = os.listdir(current_directory)
# 遍历文件,处理Excel文件
for file_name in files_in_directory:
if file_name.endswith('.xlsx'):
# 拼接文件路径
file_path = os.path.join(current_directory, file_name)
# 打开Excel文件
workbook = openpyxl.load_workbook(file_path)
sheet = workbook.active
# 删除空行
rows_to_delete = []
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row):
if all(cell.value is None for cell in row):
rows_to_delete.append(row)
for row in rows_to_delete:
sheet.delete_rows(row[0].row, 1)
# 删除空列
cols_to_delete = []
for col in sheet.iter_cols(min_col=1, max_col=sheet.max_column):
if all(cell.value is None for cell in col):
cols_to_delete.append(col)
for col in cols_to_delete:
sheet.delete_cols(col[0].column, 1)
# 生成修改后的文件名
file_name_without_extension, file_extension = os.path.splitext(file_name)
modified_file_name = f"{file_name_without_extension}_压缩后{file_extension}"
# 保存修改后的Excel文件
modified_file_path = os.path.join(current_directory, modified_file_name)
workbook.save(modified_file_path)
# 关闭Excel文件
workbook.close()
print(f"已保存修改后的文件为: {modified_file_path}")

如何使用?

来自ChatGPT的回答:

以上代码是一个Python脚本,用于遍历当前工作目录下的所有Excel文件(.xlsx扩展名),删除其中的空行和空列,然后将修改后的文件保存在同一目录下,并在文件名末尾添加”_压缩后”。

下面是使用以上代码的详细步骤:

·#(想一想)(其实,你应该先确定自己安装了Python)

  1. 安装所需的库: 首先,确保你已经安装了openpyxl库。如果没有安装,可以使用以下命令来安装它:

    pip install openpyxl
  2. 准备Excel文件: 将要处理的Excel文件(.xlsx格式)放在与脚本相同的目录中。你可以将这些文件复制到脚本文件所在的文件夹中,或者将脚本放在包含Excel文件的文件夹中。

  3. 运行脚本: 打开命令行终端,导航到包含脚本和Excel文件的目录。然后运行以下命令来执行脚本:

    python your_script.py

    其中,your_script.py应该替换为包含以上代码的Python脚本文件的名称。

  4. 执行结果: 脚本将遍历当前目录下的所有Excel文件,删除空行和空列,并将修改后的文件保存在同一目录中,文件名末尾会添加”_压缩后”。脚本会在命令行中打印出每个处理过的文件的路径。

  5. 完成: 执行脚本后,你将在同一目录中找到已经处理好的Excel文件,它们的文件名末尾会添加”_压缩后”。这些文件中的空行和空列已经被删除。

请注意,运行脚本前,请确保你已经备份了原始Excel文件,以防意外修改。