【发布时间】:2022-01-26 19:42:56
【问题描述】:
我有一个XYZ 文件,格式如下:
| X[m] | Y[m] | DensA_1050c[m] | DensB_1200c[m] | DensC_1250c[m] |
|---|---|---|---|---|
| 627841.54 | 231758.7 | 12.77 | 12.98 | 13.17 |
| 627841.54 | 231758.7 | 12.77 | 12.98 | 13.17 |
| 627841.54 | 231758.7 | 12.77 | 12.98 | 13.17 |
| 627841.54 | 231758.7 | 12.77 | 12.98 | 13.17 |
我正在寻找一种方法在 python 中读取 XYZ 文件,然后将 XYZ 文件重新写入 3 个单独的 XYZ 文件,如下所示:
DensA_1050c[m]
| X[m] | Y[m] | Z[m] |
|---|---|---|
| 627841.54 | 231758.7 | 12.77 |
| 627841.54 | 231758.7 | 12.77 |
| 627841.54 | 231758.7 | 12.77 |
| 627841.54 | 231758.7 | 12.77 |
密度B_1200c[m]
| X[m] | Y[m] | Z[m] |
|---|---|---|
| 627841.54 | 231758.7 | 12.98 |
| 627841.54 | 231758.7 | 12.98 |
| 627841.54 | 231758.7 | 12.98 |
| 627841.54 | 231758.7 | 12.98 |
DensC_1250c[m]
| X[m] | Y[m] | Z[m] |
|---|---|---|
| 627841.54 | 231758.7 | 13.17 |
| 627841.54 | 231758.7 | 13.17 |
| 627841.54 | 231758.7 | 13.17 |
| 627841.54 | 231758.7 | 13.17 |
我已尝试使用以下代码读取有效的 XYZ 文件,但我不知道如何将其解析为与上述示例类似。
import numpy as np
file_location = 'C:/Users/Public/AllData.xyz'
xyz_file = np.genfromtxt(fname=file_location, skip_header=2, dtype='unicode')
print(xyz_file)
上面代码的结果是:
['627201.81' '233336.97' '12.94' '13.27' '13.41']
【问题讨论】:
-
由于 XYZ 格式没有正式的标准,您应该在您的问题中添加一个简短的文件内容示例。