2

如果有人可以帮助我,我将不胜感激。我是 python 新手,问题是我有很多 .txt 文件,我必须从这些文件中提取列中的数据并将它们全部放在包括日期在内的一行中......文件的每一列代表一个月年份和每一行对应的日期的值(如下图所示)

         DIA       ENERO *  FEBRE *  MARZO *  ABRIL *  MAYO  *  JUNIO *  JULIO *  AGOST *  SEPTI *  OCTUB *  NOVIE *  DICIE *


       01                                                       .0       .0       .0       .0      5.0       .0
       02                                                     53.0      2.0       .0       .0       .0     10.0
       03                                                       .0     30.0       .0       .0       .0       .0
       04                                                       .0       .0       .0       .0     30.0       .0
       05                                                       .0       .0       .0       .0       .0       .0
       06                                                     24.0       .0       .0       .0       .0       .0
       07                                                       .0       .0       .0       .0       .0     17.0
       08                                                       .0       .0       .0       .0       .0       .0
       09                                                       .0     11.0       .0       .0       .0       .0
       10                                                       .0       .0       .0       .0       .0       .0
       11                                                      3.0       .0       .0     13.0       .0       .0
       12                                                       .0       .0       .0       .0       .0       .0
       13                                                       .0       .0       .0       .0     17.0       .0
       14                                              .0       .0       .0     18.0       .0      4.0     16.0
       15                                             6.0       .0       .0      3.0       .0       .0       .0
       16                                              .0       .0     32.0     10.0       .0       .0       .0
       17                                              .0       .0     17.0      8.0       .0       .0       .0
       18                                              .0       .0       .0       .0       .0       .0     52.0
       19                                             9.0       .0       .0      9.0     35.0       .0      2.0
       20                                             3.0       .0       .0       .0      5.0       .0       .0
       21                                              .0      5.0      2.0       .0       .0       .0       .0
       22                                              .0      9.0       .0       .0     10.0       .0    100.0
       23                                             1.0       .0       .0      1.6       .0       .0      6.0
       24                                             7.0       .0       .0       .0     27.0       .0       .0
       25                                            31.0       .0       .0       .0       .0       .0       .0
       26                                            52.0       .0       .0       .0       .0       .0       .0
       27                                              .0       .0       .0       .0       .0     14.0       .0
       28                                             2.0      3.0       .0       .0       .0       .0       .0
       29                                             2.0      9.0       .0       .0       .0     26.0       .0
       30                                              .0       .0       .0       .0     25.0       .0       .0
       31                                             3.0                .0     30.0                .0

如您所见,一些数据丢失了,所以我应该每天为每个丢失的数据添加 -99。最后,我的文件应该是这样的:

DATE            VALUE
01/01/1989      -99
01/02/1989      -99
01/03/1989      -99
.
.
.
05/14/1989      0.0
05/15/1989      6.0
.
.
12/31/1989      -99

我试图通过 '\t' 和 ' ' 来拆分文件的每一行,并转换列表中的每一行,以便稍后在没有可行结果的情况下附加列......

with open (file) as f:
for line in f:
   line = line.split(' ')

提前非常感谢!

4

1 回答 1

0

这似乎是一种经过深思熟虑的保存记录的格式。然而,考虑到这种格式,您最好的选择是在字典中记录在您达到该类别之前有多少个字符(即 {Enero: 15, etc})。然后为每一行确定数字(数字之间总是至少有一个空格)以及在它们之前出现了多少个字符。然后通过反复试验,您可以查看字符数是否与某个类别的值完全对应,或者如果不是,您可以说它是否在该类别的 2 以内,那么我们会将其视为属于该类别. 这应该具有将数字分类到正确类别的相当高的准确性,这似乎是这项任务中最困难的元素。

于 2012-10-24T00:24:48.957 回答