使用 Python 格式化大文本文件

Formatting Large Text File with Python

我正在寻找一种方法来从具有各种 headers 的文本文件中读取数据并重新格式化数据。每行数据由 XYZ 坐标和该特定坐标的关联值组成,如下所示:

    Header 1...
    Header 2...
         X1 Y1 Z1 Value1
         X2 Y2 Z2 Value2
         etc...

我想做的是以其他程序可以读取的方式重新格式化数据,例如:

    Header 1...
    Header 2...
         X1 Y1 Z1
         X2 Y2 Z2
         etc...
    essentially a comment/header...
         Value1
         Value2
         etc...**

我只是在寻找一些关于如何开始解决这个问题的方向。我要编辑的文本文件的大小从几千行到包含 100,000,000 多行数据的超大文件不等。因此,如果脚本需要一段时间才能 运行 对我来说并不重要,因为您可以想象手动编辑这样大小的文件所花费的时间!

这是我的想法:

您可以使用变量来存储当前header。对于 header 中的每一行,使用 string.split() 函数分隔 (X, Y, Z) 和坐标后的值。使用元组列表来存储 XYZ,XYZ 之后的值可以存储在单独的列表中。

然后你可以遍历你收集的数据,先写headers,然后用string.join()把X,Y,Z拼在一起,在开头加tab .