【发布时间】:2019-05-27 03:52:21
【问题描述】:
我有一个包含多个时间序列数据的文本文件,如下所示:
Elect Price
(Jenkins 1989)
1960 6.64784
1961 6.95902
1962 6.8534
1963 6.95924
1964 6.77416
1965 6.96237
1966 6.94241
1967 6.50688
1968 5.72611
1969 5.45512
1970 5.2703
1971 5.75105
1972 5.26886
1973 5.06676
1975 6.14003
1976 5.44883
1977 6.49034
1978 7.17429
1979 7.87244
1980 9.20048
1981 7.35384
1982 6.44922
1983 5.44273
1984 4.3131
1985 5.27546
1986 4.99998
1987 5.78054
1988 5.65552
Hydro Electricity
(Guyol 1969; Energy Information Administration 1995)
1958 5.74306e+009
1959 5.90702e+009
1960 6.40238e+009
1961 6.77396e+009
1962 7.12661e+009
1963 7.47073e+009
1964 7.72361e+009
1980 1.62e+010
1985 1.85e+010
1986 1.88e+010
1987 1.89e+010
1988 1.96e+010
1989 1.95e+010
1990 2.02e+010
1991 2.05e+010
1992 2.04e+010
1993 2.12e+010
Nuclear Electricity
(Guyol 1969; Energy Information Administration 1995)
1958 4.43664e+006
1959 1.34129e+007
1960 2.56183e+007
1961 4.09594e+007
1962 6.09336e+007
1963 1.09025e+008
1964 1.59522e+008
1980 6.40598e+009
1985 1.33e+010
1986 1.42e+010
1987 1.55e+010
1988 1.68e+010
1989 1.73e+010
1990 1.77e+010
1991 1.86e+010
1992 1.88e+010
1993 1.95e+010
我已将它作为单个字符串加载,我想知道将其转换为以下形式的字典的最佳方法是:
{('Elect Price', '(Jenkins 1989)'): [(1960, 6.64784), (1961, 6.95902), (1962, 6.8534), ...], ...}
我的第一个直觉是逐行遍历字符串并检查是否有几个不同的正则表达式匹配并从那里开始,但我还必须包含逻辑来处理变量名之后要做什么匹配,然后是引用,数据等等。
有没有更好的方法来做到这一点?可能使用某种模板来提取变量名称、引用和数据?我确信这是一个相当普遍的任务,所以我假设有更多的标准方法/工具来解决这个问题。
【问题讨论】:
标签: python regex string time-series