In [5]:
import csv, re
In [6]:
file = "data/pottery_failed_saves_v9.csv"
In [7]:
with open(file, 'r', encoding ='utf-8') as data:
reader = csv.reader(data)
datalist = list(reader)
In [8]:
failed_saves = []
failed_evals =[]
eval_counter = 0
save_counter = 0
for x in datalist[1:]:
string = """{}({}="{}",{}="{}")""".format(x[0], x[1], x[2], x[3], x[4])
#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[6].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 [ ]: