使用 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 .
我正在寻找一种方法来从具有各种 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 .