Skip to main content
 首页 » 编程设计

python之从文件中提取特定的行集

2025年05月04日15zhwl

我有许多大的(一个约 30 MB)制表符分隔的可变宽度文本文件。我想从第 n 行(此处 n=4)和倒数第二行(最后一行为空)中提取第二个字段。我可以使用 awk 分别获取它们:

awk 'NR==4{print $2}' filename.dat 

和(我不完全理解这一点,但是)

awk '{y=x "\n" $2};END{print y}' filename.dat 

但是有没有一种方法可以让他们在一次通话中联系在一起?我更广泛的意图是将它包装在 Python 脚本中,以从单独目录中的大量文件(数千个)中获取这些值,我想减少系统调用的次数。非常感谢 -

编辑:我知道我可以使用 Python 读取整个文件以提取这些值,但认为 awk 可能更适合该任务(必须处理位于附近的两个值之一大文件的末尾)。

请您参考如下方法:

awk 'NR==4{print $2};{y=x "\n" $2};END{print y}' filename.dat