In [ ]:
import pandas as pd
from datetime import datetime
import glob
from collections import namedtuple
import operator
from functools import reduce

In [ ]:
abbrevs = {"RR": {"names": ("Niederschlag", "Niederschlag_Indikator"), "cols": (3, 4)},
           "TU": {"names": ("temp", "luftfeuchte"), "cols": (3, 4)},
#           "CS": namedtuple(names=("bedeckungsgrad",), cols=(),
           "P0": {"names": ("luftdruck", "P0"), "cols": (3, 4)},
           "SD": {"names": ("sonnenschein",), "cols": (3,)},
#           "N":  namedtuple(names=("bedeckungsgrad",
           "EB": {"names": ("erdbodentemp",), "cols": (4, 5, 6, 7, 8)},
           "FF": {"names": ("windgeschwindigkeit", "windrichtung",), "cols": (3, 4)},
          }
#           "VV": "sichtweite"}

In [ ]:
for abbr in abbrevs:
    fname, = glob.glob(f"*{abbr}*hist/produkt*.txt")
    abbrevs[abbr]["filename"] = fname

In [ ]:
def parser(date_string):
    return datetime.strptime(date_string, "%Y%m%d%H")

def get_data(fname, **kwargs):
    data = pd.read_table(fname, sep=";", **kwargs)
    print(data.columns)
    data.MESS_DATUM = pd.to_datetime(data.MESS_DATUM, format="%Y%m%d%H")
    return data

In [ ]:
for abbr in abbrevs:
    print(abbr)
    fname = abbrevs[abbr]["filename"]
    print(fname)
    df = get_data(fname)
df

In [ ]:
df = pd.read_table("stundenwerte_RR_02932_19950901_20171231_hist/produkt_rr_stunde_19950901_20171231_02932.txt", sep=";")
df.MESS_DATUM = pd.to_datetime(df.MESS_DATUM, format="%Y%m%d%H")
df.set_index("MESS_DATUM")

In [ ]: