如何解压缩解析的yaml输出

时间:2015-07-29 03:16:51

标签: python r yaml

我使用其他帖子

中的代码解析了一个yaml文件
import pprint
with open("test.yaml", 'r') as stream:
    pprint.pprint(yaml.load(stream))

我得到如下输出

 'innings': [{'1st innings': {'deliveries': [{0.1: {'batsman': 'SR Watson',
                                                'bowler': 'JM Anderson',
                                                'extras': {'wides': 1},
                                                'non_striker': 'TD Paine',
                                                'runs': {'batsman': 0,
                                                         'extras': 1,
                                                         'total': 1}}},
                                         {0.2: {'batsman': 'SR Watson',
                                                'bowler': 'JM Anderson',
                                                'non_striker': 'TD Paine',
                                                'runs': {'batsman': 0,
                                                         'extras': 0,
                                                         'total': 0}}},
                                         ...

如何将上述内容转换为矩阵/数据框?做这个的最好方式是什么? ....

我确实使用了R的yaml.file_load()然后将其强制转换为data.frame,然后是transpose,因为它有太多列。 o / p低于

 innings.1st.innings.deliveries.2.3.batsman SR Watson   SR Watson
 109    innings.1st.innings.deliveries.2.3.bowler   JM Anderson JM Anderson
 110    innings.1st.innings.deliveries.2.3.non_striker  TD Paine    TD Paine
 111    innings.1st.innings.deliveries.2.3.runs.batsman 2   2
 112    innings.1st.innings.deliveries.2.3.runs.extras  0   0
 113    innings.1st.innings.deliveries.2.3.runs.total   2   2

我想使用R.对R进行分析 innings.1st.innings.deliveries.2.3.runs.batsman需要用正则表达式进行解析,并且需要交付。

使用perl或python并读取每行最终输出是否有意义

这样的事情
  Watson vs Anderson
               Runs
 Over
 1                   4
 2                   3
 3                   6

 Watson vs Broad
                   Runs
 Over
 1                   1
 2                   4
 3                   2

0 个答案:

没有答案