Python:跳过行并拆分为列文本文件
我有一个txt文件,看起来像:Python:跳过行并拆分为列文本文件,python,numpy,split,txt,Python,Numpy,Split,Txt,我有一个txt文件,看起来像: 说明 说明 0 0 170. 17040.02 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. 17070.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. 17006.48 0.00 0.00 0.00 0.00 0.00 0.00 0
说明
说明
0 0 170. 17040.02 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. 17070.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. 17006.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:]
但是我不知道怎么把它分成几列。
我只需要一个在“description”后面有数字的数组来进行一些计算。
如果有人能提出解决方案,我将不胜感激。如果文件中的值用空格分隔,您可以执行以下操作:
contents=[]
with open('Filename.txt') as f:
for line in f.readlines():
contents.append(line.rstrip().split(' '))
要跳过前两列,请执行以下操作:
contents=[]
with open('Filename.txt') as f:
for line in f.readlines():
line=line.rstrip().split(' ')
if len(line)<2:
continue
contents.append(line[2:])
contents=[]
将open('Filename.txt')作为f:
对于f.readlines()中的行:
line=line.rstrip().split(“”)
如果len(line),您能描述一下输出应该是什么样子吗?[line.split(“”)表示数据中的line]
这会让您更接近您所需要的内容吗。我敢打赌问题在于字符串(170)。这不是一个数字,因此np.load txt可能在这里失败。Samusa posted会将您的文本拆分为列,但您还需要手动修复所有不以数字结尾的数字。i、 e 170.->170.0预期的输出/行为是什么?我只想要一个由这些数字组成的数组。