我有一个按如下方式排列的文本文件:
Time x1 y1 z1 x2 y2 z2 ... x54 y54 z54
0 x1(0) ect. x2(0) . . . .
1 x1(1) . . . . . . .
. . . . . . . . . .
1e10
,我希望它看起来像这样:
Time x y z
0 x1(0) y1(0) z1(0)
0 x2(0) y2(0) z2(0)
.
.
0 x54(0) y54(0) z54(0)
1 x1(1) y1(1) z1(1)
.
.
.
1e10 x1(1e10) y1(1e10) z1(1e10)
.
.
1e10 x54(1e10) y54(1e10) z54(1e10)
我最初的想法是:
with open("file.txt", 'r') as f:
lines = f.readlines()
time = [float(line.split()[0]) for line in lines]
x1 = [float(line.split()[1]) for line in lines]
x2 = [float(line.split()[2]) for line in lines]
等。直到我有1 + 3 x 54个列表。然后我将不得不组合列表(分别为x, y和z列表),即[x1(0), x2(0),…,x54(0),x1(1),等等]。这似乎非常低效,因为我的文件是如此之大,我想我在这里会有问题。有人有更好的主意吗?
感谢你会用熊猫吗?
import pandas as pd
df = pd.read_csv("file.txt")
df.T