首页 > 解决方案 > 如何在txt文件中重新排序cloumn?

问题描述

我有一个sample.txt超过 54000 列的大型 txt 文件。它们的顺序如下:

1011001 1 1001164 981328 1 -9 A G G G G G C C A . . . .    
1011002 1 1001164 981328 1 -9 A G G G G G A C A . . . .

我需要重新排序列,如下所示:

1 1011001 1001164 981328 1 -9 A G G G G G C C A . . . .
1 1011002 1001164 981328 1 -9 A G G G G G A C A . . . .

即我希望第二列是第一列。

我有什么办法可以用 Python 做到这一点吗?

标签: python

解决方案


对于 54000 列,我会使用正则表达式,这很快:

import re

with open('sample.txt', 'r') as f_in, open('sample_out.txt', 'w', newline='') as f_out:
    for line in f_in.readlines():
        g = re.findall(r'[^\s]+', line)
        if g:
            f_out.write(' '.join([g[1], g[0]] + g[2:]) + '\n')

推荐阅读