Calculate the average number of articles per week.


In [ ]:
from os import path
from corputil import FileCorpus

file1 = path.join('data', 'Corpus_{}.txt'.format('KW44'))
file2 = path.join('data', 'Corpus_{}.txt'.format('KW45'))
file3 = path.join('data', 'Corpus_{}.txt'.format('KW46'))
file4 = path.join('data', 'Corpus_{}.txt'.format('KW47'))
file5 = path.join('data', 'Corpus_{}.txt'.format('KW48'))

corpus = FileCorpus(file1, file2, file3, file4, file5)
list_corpus = [article for article in corpus]

print(len(list_corpus) / 5)

In [ ]:
from os import path
from corputil import FileCorpus

file1 = path.join('data', 'Corpus_DieLinke.txt')
file2 = path.join('data', 'Corpus_DieLinke_PR.txt')

corpus1 = FileCorpus(file1)
corpus2 = FileCorpus(file2)

list1 = [article for article in corpus1]
list2 = [article for article in corpus2]
print(len(list1))
print(len(list2))

Convert Wikipedia XML dump into a one sentence per line representation for LineSentence from Gensim. LineSentence can then be used as input for word2vec.


In [ ]:
import re
import bz2
import nltk
from os import path
from gensim.corpora.wikicorpus import extract_pages, filter_wiki

pattern = re.compile(r'[\W\d]')
space = re.compile(r'\s+')
tokenizer = nltk.data.load('tokenizers/punkt/german.pickle')
wiki_file = path.join('data', 'dewiki-latest-pages-articles.xml.bz2')

f = bz2.BZ2File(wiki_file)
articles = extract_pages(f)
with open(path.join('data', 'Corpus_Wiki.txt'), 'w', encoding='UTF-8') as f:
    for title, text, t_id in articles:
        text = filter_wiki(text)
        sentences = tokenizer.tokenize(text)
        for sentence in sentences:
            letters_only = pattern.sub(' ', sentence)
            letters_only = space.sub(' ', letters_only).strip()
            words = letters_only.lower().split()
            if len(words) > 10:
                f.write(' '.join(words) + '\n')

In [ ]:
from os import path
from gensim.models import LdaModel

lda = LdaModel.load(path.join('models', 'lda', 'KW46.lda'))
lda.show_topics(40)

In [ ]:
import requests
from os import path
from html2corpus import HTML2Corpus
from html2corpus.extractors import ReadabilityExtractor

link = ''
req = requests.get(link)
HTML2Corpus([req.content], extractor=ReadabilityExtractor(min_len=100)).save(path.join('data', 'Test.txt'))

In [ ]:
from os import path

sw_file = path.join('data', 'german.txt')
with open(sw_file, 'r', encoding='UTF-8') as f:
    sw = f.read().split('\n')[:-1]

with open(path.join('data', 'german_sorted.txt'), 'w', encoding='UTF-8') as f:
    for word in sorted(sw):
        f.write(word + '\n')

In [2]:
from os import path
from corputil.utils import load_stopwords

stopwords = load_stopwords(path.join('data', 'german.txt'))

def loadWiki():
    with open(path.join('data', 'Archive', 'Corpus_Wiki.txt'), 'r', encoding='utf-8') as f:
        for line in f:
            yield [word for word in line.split() if word not in stopwords]

            
with open(path.join('data', 'Archive', 'Cropped_Wiki.txt'), 'w', encoding='utf-8') as f:
    for sentence in loadWiki():
        f.write(' '.join(sentence) + '\n')

In [5]:
from os import path
import pandas as pd

df = pd.read_csv(path.join('data', 'CurrentNews', 's_2015-46.csv'), sep='|', encoding='utf-8')
specific = df[df['site'] == 'Zeit']
specific.sort_values('NPD', ascending=False)


Out[5]:
week title summary text site LINKE SPD GRÜNE FDP CDU NPD
147 2015-46 NSU-Prozess: Beate Zschäpe will umfassend auss... Zweieinhalb Jahre lang hörte Beate Zschäpe den... München eine Erklärung verlesen, sagte ihr Rec... Zeit 1.643918e-02 1.165866e-02 1.413682e-02 1.514645e-02 2.283107e-02 9.197878e-01
1906 2015-46 Bundeskriminalamt: Flüchtlinge sind nicht krim... Laut einem Lagebild des BKA hat sich die Krimi... straffällig werden wie Vergleichsgruppen der ... Zeit 1.387678e-02 1.973774e-01 2.246833e-01 3.796676e-02 9.324719e-02 4.328486e-01
2039 2015-46 Paris: "Sie schossen, schossen, schossen" Die Anschläge von Paris gelten jedem einzelnen... nicht einmal der französische Präsident genau,... Zeit 9.941483e-02 2.840073e-01 5.237644e-02 1.039305e-01 6.941907e-02 3.908519e-01
2462 2015-46 Trassenheide : Flüchtlingsunterkunft auf Usedo... Eine geplante Unterkunft für 15 Flüchtlinge in... Eine geplante Unterkunft für 15 Flüchtlinge i... Zeit 2.496744e-01 7.948946e-02 1.803636e-01 5.044162e-02 6.637935e-02 3.736516e-01
1093 2015-46 Unabhängigkeitstag: Radikal ist in Polen zum M... Die Unabhängigkeitsparaden in Polen waren einm... "Meine Damen und Herren! Bis jetzt sieht es g... Zeit 1.782509e-01 1.031527e-01 1.086118e-01 2.022494e-01 5.454868e-02 3.531865e-01
1523 2015-46 Überwachung: Agent in eigener Sache Rauscht das Telefon? Liest jemand die E-Mails ... Der Tag, an dem ich stutzig wurde, war ein Di... Zeit 1.435462e-01 1.193601e-01 1.434464e-01 2.527548e-01 6.617354e-02 2.747189e-01
251 2015-46 Pegida: So ein kleines Häufchen Pegida rief im bayerischen Schirnding zur symb... Was in , oberfränkischer Grenzdorf zu Tschech... Zeit 2.964643e-01 1.118915e-01 8.279041e-02 1.796229e-01 6.079915e-02 2.684317e-01
1015 2015-46 Helmut Schmidt: Abschied im Regen Auf dem Hamburger Rathausmarkt stehen Hunderte... Sehr emotional nehmen die als kühl geltenden ... Zeit 8.290146e-02 2.877427e-01 5.646471e-02 2.180434e-01 8.902278e-02 2.658249e-01
1520 2015-46 Familiennachzug: Bischofskonferenz kritisiert ... Die Katholiken stellen sich gegen den Plan, de... (CDU) für seinen Plan kritisiert, den Familie... Zeit 1.551005e-01 4.169084e-01 1.458071e-01 2.999214e-02 5.040735e-03 2.471511e-01
2033 2015-46 Attentate: Die Horrornacht von Paris Eine furchtbare Serie von Attentaten, mindeste... Es sollte ein vergnüglicher Abend werden, er ... Zeit 1.204525e-01 1.040123e-01 1.027572e-01 2.695873e-01 1.638759e-01 2.393147e-01
1595 2015-46 Naher Osten: Kämpfe im Irak, Anschlag im Libanon Mit Hilfe der USA haben Kurden eine Offensive ... Auch in Syrien gehen die Kämpfe weiter. auf Z... Zeit 1.293752e-01 3.519680e-02 1.484926e-01 1.790769e-01 2.739294e-01 2.339290e-01
1707 2015-46 Flüchtlingskrise: Weitermerkeln Nein, die Kanzlerin ist noch nicht am Ende. Au... An Horst Seehofer hatte man sich ja schon fas... Zeit 5.274624e-02 2.446177e-01 1.284494e-01 2.222631e-01 1.205564e-01 2.313672e-01
1351 2015-46 Griechenland: Krawalle bei Generalstreik in Athen Keine Busse, keine Bahnen, keine Nachrichten –... Die griechischen Gewerkschaften haben mit ein... Zeit 1.171384e-01 1.375851e-01 4.192246e-02 2.179914e-01 2.558646e-01 2.294981e-01
2258 2015-46 Terroranschläge in Paris: Berlin im Schockzustand Entsetzen und Trauer – das sind in der deutsch... Eigentlich hätte Angela Merkel an diesem Tag ... Zeit 8.972444e-02 1.340554e-01 8.001970e-02 2.789979e-01 1.923681e-01 2.248345e-01
2425 2015-46 Terror in Paris: Mehrere Attentäter sind auf d... Ein schwarzer Seat Leon wurde bei den Angriffe... Ein schwarzer Seat Leon wurde bei den Angriff... Zeit 2.249826e-01 1.017366e-01 8.781282e-02 2.277887e-01 1.385034e-01 2.191759e-01
1379 2015-46 Flüchtlinge: Schleswig-Holstein bereitet neue ... Schon seit längerem hing die Entscheidung in d... Schleswig-Holstein bereitet sich auf die Aufn... Zeit 1.509580e-01 1.031561e-01 6.072562e-02 3.521062e-01 1.225045e-01 2.105495e-01
1344 2015-46 Syrien-Krieg: Den russischen Soldaten auf der ... Russische Blogger decken auf, wie Moskau in Sy... In einem anderen Russland wäre er wohl längst... Zeit 2.171425e-01 1.464504e-01 1.426072e-01 1.566471e-01 1.299605e-01 2.071923e-01
1051 2015-46 Sondergipfel: EU will Sonderpässe für afrikani... EU-Vertreter stellen beim Afrika-Sondergipfel ... Auf Malta beraten Vertreter europäischer und ... Zeit 9.750364e-08 2.009435e-01 1.994824e-01 1.995740e-01 2.000000e-01 2.000000e-01
558 2015-46 Helmut Schmidt: Eine Politikerkarriere Der Fotograf Jupp Darchinger hat Helmut Schmid... Bundestagswahl 1972, Wahlnacht im Erich-Ollenh... Zeit 3.120049e-05 5.190485e-01 4.454853e-08 2.809212e-01 6.577989e-07 1.999985e-01
2657 2015-46 Terror in Paris: Zwei Attentäter lebten zuletz... Die Staatsanwaltschaft Brüssel hat neue Erkenn... gelungen ist.Bei den sechs am Freitag sind min... Zeit 1.828907e-01 1.096106e-01 1.177719e-01 2.653212e-01 1.274316e-01 1.969739e-01
1185 2015-46 Flüchtlinge: Dublin gilt wieder, funktioniert ... Die Ankündigung der Bundesregierung, das EU-As... gespeichert sind, lässt sich sicher klären, in... Zeit 1.993302e-04 2.667458e-01 1.134438e-02 4.643374e-01 6.091535e-02 1.964578e-01
822 2015-46 Umfrage zur Asylpolitik: Mehr Frauen zweifeln ... Merkels Credo "Wir schaffen das!" wird zunehme... Im September verkündete Bundeskanzlerin Angel... Zeit 4.230112e-01 1.802000e-01 1.454675e-01 2.780556e-02 2.778907e-02 1.957267e-01
1106 2015-46 Flüchtlingskrise: Schweden führt Grenzkontroll... Bereits vergangene Woche hatte Schwedens Regie... Wegen der steigenden Zahl an Flüchtlingen füh... Zeit 8.324575e-02 3.825945e-01 3.514253e-02 1.358529e-01 1.687189e-01 1.944455e-01
38 2015-46 Medienschau Koalitionsstreit: "Taktieren ist e... Kommentatoren verstehen die Berliner Politik n... Thomas de Maizière (CDU) hat mit seinen syris... Zeit 1.769252e-01 2.120298e-01 1.647532e-01 2.245499e-01 2.869242e-02 1.930495e-01
2759 2015-46 Terror in Paris: Knall löst in Pariser Innenst... Ein falscher Alarm ließ Menschen vom Place de ... Ein falscher Alarm ließ Menschen vom Place de... Zeit 1.819193e-01 1.150311e-01 1.102957e-01 2.296942e-01 1.724454e-01 1.906143e-01
1422 2015-46 Helmut Schmidt : Wer zu viele Ängste hat, der ... Wer als junger Mensch Helmut Schmidt zuhörte, ... Wer als junger Mensch Helmut Schmidt zuhörte, ... Zeit 1.465562e-01 2.772358e-01 9.909443e-02 2.077096e-01 8.017648e-02 1.892275e-01
583 2015-46 Helmut Schmidt: Ein Leben für Deutschland Die Deutschen haben Helmut Schmidt vieles zu d... Die Deutschen haben in den vergangenen hunder... Zeit 1.431543e-01 2.152894e-01 1.409639e-01 2.018527e-01 1.112197e-01 1.875200e-01
2547 2015-46 Terror in Paris: Deutscher unter den Opfern de... Das Auswärtige Amt bestätigt, dass ein Deutsch... Das Auswärtige Amt bestätigt, dass ein Deutsc... Zeit 1.633010e-01 1.792340e-01 1.404365e-01 1.982276e-01 1.321955e-01 1.866054e-01
1867 2015-46 Grenzkontrollen: Wo Europa dichtmacht Jetzt auch Österreich: In Europa werden in der... Das Schengener Abkommen gehört zu den großen ... Zeit 1.634444e-01 6.097080e-02 2.632079e-02 1.117955e-01 4.541536e-01 1.833149e-01
624 2015-46 Flüchtlingskrise: Deutschland wendet Dublin-Ve... Deutschland schickt syrische Flüchtlinge wiede... Die Mitteilung aus dem Innenministerium hat a... Zeit 1.486074e-02 2.316567e-01 3.333491e-01 1.336608e-01 1.048116e-01 1.816612e-01
... ... ... ... ... ... ... ... ... ... ... ...
430 2015-46 Flüchtlinge: Lauter Großfamilien? Die Höhe des Familiennachzugs von Flüchtlingen... steht derzeit im Zentrum der Debatte um die B... Zeit 4.418824e-02 1.922302e-01 3.910233e-01 1.585099e-01 1.526970e-01 6.135130e-02
1532 2015-46 Flüchtlingskrise: EU plant Gipfeltreffen mit d... Auf dem für Ende November oder Anfang Dezember... Ende des Treffens ein. Das Geld müsse aber her... Zeit 5.576190e-02 5.615610e-02 5.641410e-02 7.203050e-01 5.580734e-02 5.555556e-02
1622 2015-46 Spionage: Koalition setzt BND engere Grenzen Union und SPD haben sich einem laut einem Beri... Union und SPD haben sich auf eine umfassende ... Zeit 2.992060e-02 1.878961e-01 2.795208e-01 2.735782e-01 1.847394e-01 4.434501e-02
2448 2015-46 Bundesnachrichtendienst: BND stellt zusätzlich... Die Geheimdienste sollen 475 zusätzliche Stell... Die Geheimdienste sollen 475 zusätzliche Stel... Zeit 8.836173e-02 4.796287e-02 2.769688e-01 2.501186e-01 2.992186e-01 3.736944e-02
1576 2015-46 Bundestag: Auslandseinsätze der Bundeswehr ver... Deutschland beteiligt sich ein weiteres Jahr m... Deutschland beteiligt sich ein weiteres Jahr ... Zeit 4.163553e-01 6.594700e-02 1.548364e-01 4.286536e-02 2.833135e-01 3.668257e-02
597 2015-46 Helmut Schmidt: "Er war ein großer Europäer" Der Tod des ehemaligen Kanzlers Helmut Schmidt... Bundespräsident Joachim Gauck hat seine Traue... Zeit 1.369502e-01 3.036855e-01 3.027413e-02 2.010582e-01 3.007344e-01 2.729758e-02
1109 2015-46 Israel: Netanjahu empört sich über Kennzeichnu... Die israelische Regierung hat die EU-Kennzeich... Nachdem die EU-Kommission entschieden hat, ei... Zeit 1.613127e-01 1.031504e-02 4.717989e-01 1.027558e-01 2.267245e-01 2.709303e-02
2233 2015-46 François Hollande: Der Helmut Schmidt Frankreichs François Hollande ist ein Krisenmanager. Er ha... Wenn es brennt, dann ist er zur Stelle. Ideol... Zeit 1.861103e-01 1.759387e-01 4.485867e-02 3.944717e-01 1.749631e-01 2.365747e-02
1420 2015-46 Flüchtlinge: Flüchtlingsamt-Mitarbeiter sehen ... Als Syrer gilt, wer versichert, Syrer zu sein ... Als Syrer gilt, wer versichert, Syrer zu sein... Zeit 1.560384e-01 2.308784e-01 2.698917e-01 3.582498e-04 3.192769e-01 2.355628e-02
1647 2015-46 Haushalt: Keine neuen Schulden trotz Flüchtlin... Der Haushaltsausschuss hat den Etat für 2016 b... Trotz Mehrausgaben wegen der Flüchtlingskrise... Zeit 7.343617e-03 4.385576e-01 1.420250e-01 1.491379e-01 2.419450e-01 2.099086e-02
163 2015-46 Heckler & Koch: Kabinett billigt millionenschw... Der Waffenhersteller Heckler & Koch darf Krieg... Der Bundessicherheitsrat hat dem Waffenherste... Zeit 2.571543e-01 1.262120e-01 4.587462e-01 1.113699e-01 2.625316e-02 2.026442e-02
0 2015-46 Balkan: Konservative führen bei Wahlen in Kroa... Ersten Ergebnissen zufolge gewinnt die HDZ kna... Bei den Parlamentswahlen in Kroatien liegt di... Zeit 2.418185e-01 2.808695e-01 3.933596e-02 2.623488e-01 1.560791e-01 1.954812e-02
1789 2015-46 Christian Lindner: "Frau Merkel hat Chaos gest... Der FDP-Chef übt harsche Kritik an der Bundesk... Christian Lindner: Die Bundeskanzlerin verläss... Zeit 4.209528e-02 4.311039e-02 6.046227e-02 8.106184e-01 2.438620e-02 1.932744e-02
2312 2015-46 Syrien-Konferenz in Wien: Dieselben Schmerzen,... Das Pariser Massaker erhöht den Druck auf die ... Das gebe der zweiten Syrien-Konferenz in Wien... Zeit 2.230755e-01 1.306218e-01 1.064350e-01 2.057371e-01 3.177420e-01 1.638860e-02
1043 2015-46 Flüchtlinge: Orbáns schlechtes Vorbild Auch Slowenien baut jetzt einen Grenzzaun. Das... Vor Kurzem noch war wegen der Abriegelung sei... Zeit 2.114612e-01 2.148334e-01 2.335404e-01 1.439045e-01 1.810616e-01 1.519895e-02
1805 2015-46 Umfrage: Mehrheit lehnt Merkels Flüchtlingspol... Laut einer Umfrage halten viele Menschen in De... nächsten Sonntag Bundestagswahl wäre, käme die... Zeit 2.227579e-01 1.152674e-01 1.042170e-01 5.301148e-01 1.274452e-02 1.489830e-02
2464 2015-46 Vorwahlen in den USA: Anschläge von Paris über... Hillary Clinton hat in einer TV-Diskussion zur... Hillary Clinton hat sich auch in der zweiten ... Zeit 2.698396e-01 9.509324e-02 9.486686e-02 1.698787e-01 3.583680e-01 1.195356e-02
1648 2015-46 Myanmar: San Suu Kyi gewinnt absolute Mehrheit Das Endergebnis der Wahl in Myanmar steht fest... Die USA forderten eine Verfassungsänderung, d... Zeit 3.303858e-01 9.085237e-02 2.981716e-01 8.542938e-03 2.702238e-01 1.823531e-03
410 2015-46 Berliner Forum Außenpolitik: Wie weiter mit Ru... Hochrangige Experten diskutieren beim Berliner... Hochrangige Experten diskutieren beim Berline... Zeit 2.765487e-03 3.908829e-01 8.044451e-02 3.219784e-01 2.029680e-01 9.607854e-04
1603 2015-46 Bürgerkrieg: Kolumbianer sollen über Frieden m... Per Volksentscheid werden die Kolumbianer über... Per Volksentscheid werden die Kolumbianer übe... Zeit 6.066301e-01 1.119502e-01 1.213409e-01 6.250016e-02 9.707230e-02 5.063131e-04
1769 2015-46 Nordirak: Kurden erobern Sindschar von IS zurück Kämpfer der kurdischen Peschmerga sind in die ... Kämpfer der kurdischen Peschmerga sind in die... Zeit 4.989152e-01 1.554709e-08 5.401614e-04 3.298365e-04 5.000318e-01 1.830362e-04
1130 2015-46 Sondergipfel: Mehr Geld, weniger Flüchtlinge Um Flüchtlingszahlen zu senken, verspricht die... Die Vertreter von etwa 60 Staaten wollen bis ... Zeit 1.344126e-06 7.530389e-01 2.466270e-01 2.874058e-04 9.153494e-08 4.523335e-05
2218 2015-46 Terror in Paris: Festnahme in Bayern verhinder... Anfang November stellte die bayerische Polizei... Die EU-Außenbeauftragte Federica Mogherini sie... Zeit 1.384702e-04 1.275152e-02 5.357180e-02 3.875979e-01 5.459403e-01 1.915955e-08
2266 2015-46 Terror in Paris: Erster identifizierter Attent... Mindestens ein Attentäter war der französische... Die EU-Außenbeauftragte Federica Mogherini sie... Zeit 1.384702e-04 1.275152e-02 5.357180e-02 3.875979e-01 5.459403e-01 1.915955e-08
959 2015-46 Überwachung: Bundesregierung will Späh-Vorwürf... Das Ausspähen von Diplomaten durch den Bundesn... gebe es allerdings, über die Zukunft von BND-... Zeit 3.722573e-07 2.358202e-07 5.969295e-01 4.030507e-01 1.919822e-05 6.095162e-09
923 2015-46 Überwachung: Bundesregierung will Späh-Vorwürf... Das Ausspähen von Diplomaten durch den Bundesn... gebe es allerdings, über die Zukunft von BND-... Zeit 3.722573e-07 2.358202e-07 5.969295e-01 4.030507e-01 1.919822e-05 6.095162e-09
975 2015-46 Kennzeichnungspflicht: Obst aus jüdischen Sied... Produkte aus jüdischen Siedlungen in Palästine... Außerdem teilte ein Sprecher des Außenministe... Zeit 5.862322e-05 9.085235e-02 4.099326e-01 2.489670e-01 2.501895e-01 4.099998e-09
865 2015-46 Kennzeichnungspflicht: Obst aus jüdischen Sied... Produkte aus jüdischen Siedlungen in Palästine... darüber auf, welche Rolle die EU künftig in de... Zeit 1.557285e-08 1.366377e-04 9.998481e-01 1.282687e-12 1.511017e-05 2.104667e-14
290 2015-46 Flüchtlingskrise: EU will Hotspots auf Balkanr... Auf dem Westbalkan sollen neue Flüchtlingszent... Angaben von EU-Innenkommissar Dimitris Avramop... Zeit 1.118826e-08 1.918949e-01 4.776247e-14 3.380077e-07 8.081048e-01 1.891991e-14
2427 2015-46 Syrien-Konferenz in Wien: Der Fahrplan steht Das Pariser Massaker erhöht den Druck auf die ... Am Rande des Syrien-Treffens in Wien hat der l... Zeit 5.111644e-16 2.130324e-11 1.825543e-14 9.945281e-08 9.999999e-01 9.127839e-22

121 rows × 11 columns


In [ ]:
spd = [
    path.join('data', 'Politics', 'SPD_EU.txt'),
    path.join('data', 'Politics', 'SPD_Fraktion.txt'),
#     path.join('data', 'Politics', 'SPD_Vorwärts_Inland.txt'),
#     path.join('data', 'Politics', 'SPD_Vorwärts_International.txt'),
    path.join('data', 'Politics', 'SPD_Vorwärts_Parteileben.txt')
]

linke = [
#    path.join('data', 'Politics', 'Linke.txt'),
    path.join('data', 'Politics', 'Linke_PR.txt')
#    path.join('data', 'Politics', 'Linke_Fraktion.txt')
]

gruene = [
#     path.join('data', 'Politics', 'Grüne.txt'),
    path.join('data', 'Politics', 'Grüne_Fraktion.txt')
]

fdp = [
    path.join('data', 'Politics', 'FDP.txt')
#    path.join('data', 'Politics', 'FDP_Fraktion.txt')
]

cdu = [
    path.join('data', 'Politics', 'CDU.txt'),
    path.join('data', 'Politics', 'CDU_EU.txt'),
    path.join('data', 'Politics', 'CDU_Fraktion.txt')
]

npd = [
#     path.join('data', 'Politics', 'NPD_MV.txt'),
    path.join('data', 'Politics', 'NPD_Sachsen.txt')
#     path.join('data', 'Politics', 'NPD_Jung.txt')
]

corpora = [
    FileCorpus(linke),
    FileCorpus(spd),
    FileCorpus(gruene), 
    FileCorpus(fdp), 
    FileCorpus(cdu), 
    FileCorpus(npd)
]

parties = [
    'Linke',
    'SPD',
    'Gruene',
    'FDP',
    'CDU',
    'NPD'
]

In [14]:
import csv
import json
from os import path
from pprint import pprint

labels = ['2015-44', '2015-45', '2015-46', '2015-47', '2015-48', '2015-49', '2015-50', '2015-51', 
          '2015-52', '2015-53', '2016-01', '2016-02', '2016-03', '2016-04', '2016-05', '2016-06']
d = out = path.join('data', 'Web')
p = path.join(d, 'SiteSentimentTime.json')


with open(p, 'r') as f:
    data = f.read()
    data = json.loads(data)
    
def to_rows(site):
    with open(path.join(d, '{}.csv'.format(site)), 'w', encoding='utf-8') as f:
        writer = csv.writer(f, lineterminator='\n')
        for label in labels:
            temp = list(map(lambda x: x-0.166, data[label].get(site, [0.166, 0.166, 0.166, 0.166, 0.166, 0.166])))
            writer.writerow([label] + temp)
            
to_rows('Junge Freiheit')
to_rows('Spiegel')
to_rows('Welt')
to_rows('FAZ')
to_rows('Süddeutsche')
to_rows('Zeit')