Skip to main content
 首页 » 编程设计

python之根据列的值有效地将一个文件拆分成多个文件

2025年05月04日9grandyang

我有一个非常大的制表符分隔文本文件。文件中的许多行对于文件中的列之一(称为列 k)具有相同的值。我想将这个文件分成多个文件,将具有相同k值的条目放在同一个文件中。我怎样才能做到这一点?例如:

a foo 
1 bar 
c foo 
2 bar 
d foo 

应拆分为包含条目“a foo”、“c foo”和“d foo”的文件“foo”和包含条目“1 bar”和“2 bar”的名为“bar”的文件。

我如何在 shell 脚本或 Python 中执行此操作?

谢谢。

请您参考如下方法:

我不确定它的效率如何,但快速简便的方法是利用 awk 中文件重定向的工作方式:

awk '{ print >> $5 }' yourfile 

这会将每一行(未修改的)附加到以 5 列命名的文件中。根据需要进行调整。