In [1]:
import csv, re

In [2]:
file = "data/controlledvocab_ort_2016-08-12.csv"
with open(file, 'r', encoding='utf-8') as data:
    reader = csv.reader(data)
    datalist = list(reader)

In [3]:
for x in datalist:
    places = x[0].split("__")
    temp_lg, _ = Landgericht.objects.get_or_create(name=places[0])
    temp_pl, _ = Place.objects.get_or_create(name=places[1])
    temp_pl.landgericht=temp_lg
    if "http" in x[5]:
        pass
    else:
        temp_pl.comment=x[5]
    if x[2] != "NULL":
        temp_pl.geonames_id=x[2]
        temp_pl.lat = float(x[3].replace(",","."))
        temp_pl.lng = float(x[4].replace(",","."))
    temp_pl.legacy_id = x[0]
    temp_pl.save()
    #print(x[0])


C:\Anaconda3\envs\totetiroler\lib\site-packages\django\db\backends\mysql\base.py:112: Warning: Data truncated for column 'comment' at row 1
  return self.cursor.execute(query, args)

WARNING:py.warnings:C:\Anaconda3\envs\totetiroler\lib\site-packages\django\db\backends\mysql\base.py:112: Warning: Data truncated for column 'comment' at row 1
  return self.cursor.execute(query, args)


In [4]:
len(Place.objects.all())


Out[4]:
500

In [5]:
file = "data/totetiroler_person_2016-08-12.csv"
with open(file, 'r', encoding='utf-8') as data:
    reader = csv.reader(data)
    datalist = list(reader)

In [6]:
for x in datalist:
    pers, _ = Person.objects.get_or_create(kramer_index=x[0])
    pers.name = x[1]
    pers.vorname = x[2]
    pers.alter = x[3]
    try:
        pers.todesjahr = int(x[4])
    except:
        pass
        #print(x[0])
    try:
        pers.todesmonat = int(x[5])
    except:
        pass
        #print(x[0])
    try:
        pers.todestag = int(x[6])
    except:
        pass
        #print(x[0])
    pers.beruf = Beruf.objects.get_or_create(name=x[9])[0]
    pers.geburtsort = Place.objects.get_or_create(legacy_id=x[10])[0]
    pers.sterbeort = Place.objects.get_or_create(legacy_id=x[11])[0]
    pers.todesart = Todesart.objects.get_or_create(name=x[12])[0]
    pers.save()

In [7]:
len(Person.objects.all())


Out[7]:
970