I have a Json string I've got from an API, that I want to convert into a nice table. It looks like this:
{'Content': 'GENESIS-Tabelle: Temporär\nVj. Index der Tarifverdienste und Arbeitszeiten;;;;;;;;;;;;;;;;;;\nZeitreihe aus 62221BV002;;;;;;;;;;;;;;;;;;\nVj. Index der Tarifverdienste und Arbeitszeiten;;;;;;;;;;;;;;;;;;\n;;;;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr;Jahr\n;;;;2018;2018;2018;2018;2019;2019;2019;2019;2020;2020;2020;2020;2021;2021;2021\n;;;;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale;Quartale\n;;;;1. Quartal;2. Quartal;3. Quartal;4. Quartal;1. Quartal;2. Quartal;3. Quartal;4. Quartal;1. Quartal;2. Quartal;3. Quartal;4. Quartal;1. Quartal;2. Quartal;3. Quartal\nFrüheres Bundesgebiet;Energie- und Wasserversorgung;Index d.tarifl. Monatsverdienste ohne Sonderzahl.;2020=100;93,5;93,9;95,3;96,0;96,3;98,5;98,7;99,0;99,3;100,1;100,3;100,3;100,6;102,0;102,1\nNeue Länder;Energie- und Wasserversorgung;Index d.tarifl. Monatsverdienste ohne Sonderzahl.;2020=100;94,9;94,9;95,5;96,1;96,4;98,8;98,9;98,9;99,1;99,5;100,5;100,9;101,0;101,8;102,6\n__________\n© Statistisches Bundesamt (Destatis), 2021\nStand: 19.12.2021 / 18:05:39\n'}
I would usually convert it into a dataframe (normalize it) to make it look like this:
But this one seems a bit out of form and I dont know where to start...
Any help is much appreciated
The best I can do with your sample:
import pandas as pd
import io
data = {'Content': 'GENESIS...\n'}
df = pd.read_csv(io.StringIO(d['Content']), skiprows=1, skipfooter=4,
header=None, sep=';', engine='python').T
df = df.ffill().loc[lambda x: x[4].notna()]
Output:
>>> df
0 1 2 3 4 5 6 7
4 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2018 Quartale 1. Quartal 93,5
5 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2018 Quartale 2. Quartal 93,9
6 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2018 Quartale 3. Quartal 95,3
7 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2018 Quartale 4. Quartal 96,0
8 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2019 Quartale 1. Quartal 96,3
9 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2019 Quartale 2. Quartal 98,5
10 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2019 Quartale 3. Quartal 98,7
11 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2019 Quartale 4. Quartal 99,0
12 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2020 Quartale 1. Quartal 99,3
13 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2020 Quartale 2. Quartal 100,1
14 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2020 Quartale 3. Quartal 100,3
15 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2020 Quartale 4. Quartal 100,3
16 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2021 Quartale 1. Quartal 100,6
17 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2021 Quartale 2. Quartal 102,0
18 Vj. Index der Tarifverdienste und Arbeitszeiten Zeitreihe aus 62221BV002 Vj. Index der Tarifverdienste und Arbeitszeiten Jahr 2021 Quartale 3. Quartal 102,1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.