如何用Python在Excel中保留第5、10、15行并删除其余行?
嗨,我来帮你搞定这个Excel行筛选的需求!针对你要保留第5、10、15行,删除其余行的需求,我给你准备了两种实用的Python方案,都是处理Excel数据的常用工具,你可以按需选择:
方法一:使用Pandas库(推荐,适合快速批量处理表格)
Pandas是处理表格数据的神器,代码简洁高效,特别适合这种按行筛选的场景。
步骤1:安装依赖库
首先确保你安装了pandas和openpyxl(用来读写.xlsx格式文件),在终端里运行:
pip install pandas openpyxl
步骤2:核心代码示例
import pandas as pd # 读取你的Excel文件,替换成你的文件路径 df = pd.read_excel("你的文件路径.xlsx", engine="openpyxl") # 指定要保留的行号(注意:Excel里的行号是从1开始,Pandas的索引是从0开始,所以第5行对应索引4,第10行对应9,第15行对应14) keep_rows = [4, 9, 14] # 筛选出需要保留的行 filtered_df = df.iloc[keep_rows] # 将结果保存到新的Excel文件(避免覆盖原文件) filtered_df.to_excel("筛选后的数据.xlsx", index=False, engine="openpyxl") print("筛选完成!已保存为'筛选后的数据.xlsx'")
代码解释
pd.read_excel():读取原始Excel文件,engine="openpyxl"是为了支持.xlsx格式;iloc[keep_rows]:通过索引定位并提取需要保留的行;to_excel():保存筛选后的数据,index=False是避免把Pandas的索引列写入Excel。
方法二:使用OpenPyXL库(适合需要精细操作Excel的场景)
如果你需要直接操作Excel的单元格、格式,或者不想用Pandas,OpenPyXL是个不错的选择,它可以直接读写Excel文件的底层内容。
步骤1:安装依赖库
在终端运行:
pip install openpyxl
步骤2:核心代码示例
from openpyxl import load_workbook # 加载原始Excel文件,替换成你的文件路径 wb = load_workbook("你的文件路径.xlsx") ws = wb.active # 获取当前活动工作表 # 要保留的Excel行号(从1开始计数) keep_row_numbers = {5, 10, 15} # 创建一个新工作表来存放筛选后的数据 new_ws = wb.create_sheet(title="筛选后的数据") # 遍历原始工作表的每一行,只保留指定行 for row in ws.iter_rows(values_only=True): current_row_num = ws._current_row # 获取当前行的行号 if current_row_num in keep_row_numbers: new_ws.append(row) # 删除原始工作表(可选,如果你只想保留筛选后的表) wb.remove(ws) # 保存文件 wb.save("筛选后的数据.xlsx") print("筛选完成!已保存为'筛选后的数据.xlsx'")
代码解释
load_workbook():加载原始Excel文件;iter_rows(values_only=True):遍历每一行并获取单元格的值;- 检查当前行号是否在保留列表中,是的话就添加到新工作表;
- 最后保存新文件,也可以选择不删除原始表,根据你的需求调整。
如果运行过程中遇到问题,比如文件路径错误、库安装失败,或者需要适配你的Excel格式,随时告诉我细节我再帮你调整!
内容的提问来源于stack exchange,提问作者Edison Toh
相关产品推荐
相关产品推荐

