In [1]:
import csv, re

In [2]:
file = "data/small_finds_failed_saves_v9.csv"

In [3]:
with open(file, 'r', encoding ='utf-8') as data:
    reader = csv.reader(data)
    datalist = list(reader)

In [4]:
datalist[:15]


Out[4]:
[['classname', 'field name 1', 'value', 'field name 2', 'value'],
 ['DC_finds_small_finds_type',
  'name',
  'Fire dog',
  'german_name',
  '“Feuerbock”'],
 ['DC_finds_small_finds_type',
  'name',
  '“Skull crusher”',
  'german_name',
  '“Skull Crusher”']]

In [5]:
print(len(datalist[1:]))
failed_saves = []
c = 0
for x in datalist[1:]:
    if x[3]=="":
        string = """{}({}="{}", )""".format(x[0], x[1], x[2])
        try:
            (eval(string)).save()
            c = c+1
        except:
            failed_saves.append(string)
    else:
        string = """{}({}="{}",{}="{}")""".format(x[0], x[1], x[2], x[3], x[4])
        try:
            (eval(string)).save()
            c = c+1
        except:
            failed_saves.append(string)
print("saved {} entries".format(c))
print(failed_saves)


2
saved 2 entries
[]

In [ ]: