使用python从文本中读取列

使用python从文本中读取列,python,Python,嗨,我有上面这样的文本文件。我想知道如何只读列(如下面模拟和测量的整个列),如果可能的话,我还想知道如何使用python将这些列导入Excel文件。将列读入列表的简单方法(假设标题始终为6行): 给出: simulated = [] measured = [] with open('input.file') as f: for l in f.readlines()[6:]: l = l.split() simulated.append(l[-2])

嗨,我有上面这样的文本文件。我想知道如何只读列(如下面模拟和测量的整个列),如果可能的话,我还想知道如何使用python将这些列导入Excel文件。

将列读入列表的简单方法(假设标题始终为6行):

给出:

simulated = []
measured = []

with open('input.file') as f:
    for l in f.readlines()[6:]:
        l = l.split()
        simulated.append(l[-2])
        measured.append(l[-1])

print simulated
print measured
请注意,列表仍然包含数字的字符串表示形式。使用以下命令解析为数字:

['62', '115', '160', '8478', '32377', '.0262']
['-99', '-99', '-99', '-99', '-99', '-99']

Theodros在阅读该文件时给出了一个很好的答案。要将其保存到excel中,您可以将其保存为csv(使用
csv
模块),也可以尝试
xlwt
模块(可从PyPi获得)

然后查看
xlwt
/
csv
或XML或任何可以读回其他内容的内容…

查看模块。
['62', '115', '160', '8478', '32377', '.0262']
['-99', '-99', '-99', '-99', '-99', '-99']
simulated.append(float(l[-2]))
measured.append(int(l[-1]))
from itertools import islice

with open('some.file') as fin:
    for line in islice(fin, 6, None):
        desc, simulated, measured = ' '.join(line.split()).rsplit(' ', 2)
        # do any necessary conversions