我有這個奇怪的格式化文本文件我想讀,我不知道如何告訴python,每行以分隔符開頭。在白色空間分割字符串
在文本文件中的一行看起來像:
3.146 -1.339 .358 29.214
該文件使用5個空格作爲分隔符。我怎樣才能將每行讀入一個包含4個項目的列表?
我有這個奇怪的格式化文本文件我想讀,我不知道如何告訴python,每行以分隔符開頭。在白色空間分割字符串
在文本文件中的一行看起來像:
3.146 -1.339 .358 29.214
該文件使用5個空格作爲分隔符。我怎樣才能將每行讀入一個包含4個項目的列表?
使用split
與strip
相結合,去除多餘的空白:
my_file_data = " 3.146 -1.339 .358 29.214"
data = my_file_data.strip().split(' ')
# do stuff with your data
print(data[0])
你可以閱讀每一行成一個列表,使用以下4項:
with open(filename, 'r') as f:
# this will read in each row as:
#
# ['3.146', '-1.339', '.358', '29.214']
#
# so `lines` will contain
#
# [['3.146', '-1.339', '.358', '29.214'], ...]
lines = map(str.split, f.readlines())
# or alternatively, as @jez mentioned, it may be more readable to use
lines = [ line.split() for line in lines ]
# you'll then likely want to convert them to floats
#
# this will give you:
#
# [[3.146, -1.339, 0.358, 29.214], ...]
data = [ map(float, split_line) for split_line in lines ]
這是你的分隔符:
delimiter=' '
然後你只需使用的分隔符
lineoftext.split(delimiter)
'line.strip()劃分文本行。分裂()'? – jonrsharpe