我是Python的新手,我需要从文本文件(.txt)中提取数据。我有一个文本文件在下面 我需要从文本下面的第三列获取数据。我需要将文本放入python列表
Version 3.6 CE-QUAL-W2
Lagoa das Furnas - 1 Ramo
Default hydraulic coefficients
Default light absorption/extinction coeffients
JDAY DLT ELWS T2
4.0 5.0 6.0 7.0
3.0 4.0 5.0 6.0
3.0 5.0 7.0 6.0
我试过这个但是它不起作用,我得到了所有的行
a=np.genfromtxt('file.txt', skip_header=5)
答案 0 :(得分:1)
#updated
L = []
for index, line in enumerate(open('data.txt')):
if index <= 4: #skip first 5 lines
continue
else:
L.append(line.split()[2]) #split on whitespace and append value from third columns to list.
print(L)
#[6.0, 5.0, 7.0]
答案 1 :(得分:0)
如果您的文件看起来与显示的文件类似,那么您可以跳过标题行,只抓住一列np.genfromtxt
,如下所示:
np.genfromtxt('filename.txt', skip_header=5, usecols=2)
请注意,我写了usecols = 2,它获得了第三列(col 0是第一列)。您可以使用列表获取多个列:usecols=[0,2]
,它将获取第一个和第三个列。
In [105]: from StringIO import StringIO
In [106]: s = StringIO("""Version 3.6 CE-QUAL-W2
.....: Lagoa das Furnas - 1 Ramo
.....: Default hydraulic coefficients
.....: Default light absorption/extinction coeffients
.....: JDAY DLT ELWS T2
.....: 4.0 5.0 6.0 7.0
.....: 3.0 4.0 5.0 6.0
.....: 3.0 5.0 7.0 6.0""")
In [107]: np.genfromtxt(s, skip_header=5, usecols=2)
Out[107]: array([ 6., 5., 7.])