Excel及CSV文件行筛选:如何删除除第5行/每第5行外的所有行
在Excel中删除除第5行之外的所有行
方法1:筛选法(适合大量行)
- 插入辅助列(比如最左侧的A列),在第5行单元格输入
1,其余所有行输入0 - 选中辅助列,点击顶部「数据」选项卡的「筛选」按钮
- 点击辅助列的筛选箭头,只取消勾选
1,确定后选中所有显示的行,右键选择「删除」 - 取消筛选,删掉辅助列即可
方法2:手动选中删除(适合少量行)
- 按住Ctrl键,依次点击第1-4行、第6行及以后的行号,选中所有要删除的行
- 右键选中的行,点击「删除」完成操作
处理CSV文件,保留每第5行并删除其他行
方法1:Excel打开后处理
- 直接用Excel打开CSV文件,插入辅助列
- 在辅助列第一行输入公式
=MOD(ROW(),5),下拉填充到所有行(公式结果为0的就是第5、10、15...行) - 点击「数据」选项卡的「筛选」,筛选出辅助列结果不为0的行,删除这些行
- 删除辅助列,最后另存为CSV格式
方法2:PowerShell命令(适合大文件/批量处理)
打开PowerShell,切换到CSV所在文件夹,执行以下命令(替换文件名):
$csv = Import-Csv "你的文件名.csv" $csv | Where-Object { ($csv.IndexOf($_) + 1) % 5 -eq 0 } | Export-Csv "处理后文件.csv" -NoTypeInformation
方法3:Python脚本(灵活可控)
写一段简单的Python脚本,修改文件名后运行:
import csv # 替换成你的输入输出文件名 input_file = "你的文件名.csv" output_file = "处理后文件.csv" with open(input_file, 'r', newline='') as infile, open(output_file, 'w', newline='') as outfile: reader = csv.reader(infile) writer = csv.writer(outfile) # 保留表头(如果CSV没有表头,删掉下面两行) header = next(reader) writer.writerow(header) # 从表头下一行开始计数,每第5行保留 for row_num, row in enumerate(reader, start=2): if row_num % 5 == 0: writer.writerow(row)
内容的提问来源于stack exchange,提问作者Danijel333
相关产品推荐
相关产品推荐

