【发布时间】:2021-08-04 17:10:39
【问题描述】:
我有一个 txt 文件,看起来像这样:
说明
说明
0 0 170. 170. 40.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18.09228
1 0 170. 170. 70.80 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.09736
....
1 0 170. 170. 06.48 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.09736
我尝试过使用:
data = np.loadtxt('Filename.txt', comments='#', delimiter=' ', skiprows=2)
但我收到错误消息“无法将字符串转换为浮点数:”可能会发生,因为在数据中,列之间的空格数不同。
我也试过了:
with open('Filename.txt') as f:
data = f.readlines()[2:]
但后来我不知道如何将其拆分为列。 我只需要一个在“描述”之后带有数字的数组来进行一些计算。 如果有人能提出解决方案,我将不胜感激。
【问题讨论】:
-
你能描述一下输出应该是什么样子吗?
-
[line.split(" ") for line in data]这会让您更接近您的需求。 -
我敢打赌,问题出在字符串 (170.) 这不是一个数字,所以 np.load txt 在这里可能会失败。 Samusa 发布的内容会将您的文本分成几列,但您还需要手动修复所有不以数字结尾的数字。即 170. -> 170.0
-
预期的输出/行为是什么?
-
我只想要一个由这些数字组成的数组。