使用python从文本中读取列
嗨,我有上面这样的文本文件。我想知道如何只读列(如下面模拟和测量的整个列),如果可能的话,我还想知道如何使用python将这些列导入Excel文件。将列读入列表的简单方法(假设标题始终为6行): 给出:使用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])
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