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)
In [ ]:
In [ ]: