In [1]:
import csv, re

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

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

In [4]:
failed_saves = []
failed_evals =[]
eval_counter = 0
save_counter = 0
for x in datalist[1:]:
    if x[6] == "":
        string = """{}({}="{}", {}="{}")""".format(x[0], x[1], x[2], x[3], x[4] )
    else:
        string = """{}({}="{}", {}="{}", {}="{}", {}="{}", {}="{}", {}="{}")""".format(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12] )
    #print(string)
    try:
        temporary_object = eval(string)
        #print("eval good", string)
        eval_counter = eval_counter+1
    except:
        #print("eval bad", string)
        failed_evals.append(string)
    try:
        temporary_object.save()
        save_counter = save_counter +1
    except:
        failed_saves.append(string)
    split_region = x[14].split("/")
    #print(split_region)
    region_objects = []
    for region_name in split_region:
        #print(region_name)
        new_region = DC_region.objects.get(name=region_name)
        region_objects.append(new_region)
    temporary_object.region=region_objects #region is a field name here #temporary_object is the same
    try:
        temporary_object.save()
        save_counter = save_counter +1
    except:
        failed_saves.append(string)
print(len(datalist))
print("saved {} entries; evaluated {} objects".format(save_counter, eval_counter))
print("Failed evals: ", failed_evals)
print("Failed saves: ", failed_saves)


79
saved 156 entries; evaluated 78 objects
Failed evals:  []
Failed saves:  []

In [ ]:


In [ ]: