使用Python读取文本中的一列

2024-09-27 18:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

EXPERIMENT : KSAS1201 SG CLIMAT CHANGE
DATA PATH : C:\DSSAT45\Sorghum\
TREATMENT 1 : N.American SGCER045

@     VARIABLE                              SIMULATED     MEASURED
  --------                                 -------     --------
  Panicle Initiation day (dap)                   62          -99
  Anthesis day (dap)                            115          -99
  Physiological maturity day (dap)              160          -99
  Yield at harvest maturity (kg [dm]/ha)       8478          -99
  Number at maturity (no/m2)                  32377          -99
  Unit wt at maturity (g [dm]/unit)           .0262          -99  

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


Tags: pathdatadmsgchangeatexperimentdap
3条回答

将列读入列表的简单方法(假设标题总是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

给出:

^{pr2}$

请注意,列表仍然包含数字的字符串表示形式。解析为数字时使用:

simulated.append(float(l[-2]))
measured.append(int(l[-1]))

西奥德罗斯在阅读文件时给出了一个很好的答案。要将其放入excel,您可以将其另存为csv(使用csv模块),也可以尝试xlwt模块(可从PyPi获得)。在

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

然后看看xlwt/csv或XML或其他任何东西,这样就可以把它读回其他东西中。。。在

相关问题 更多 >

    热门问题