Чтобы импортировать .csv и превратить их в атрибуты, вы хотите знать, как вы читаете файл, а затем передать его в класс агента при его создании.
Например:
у вас есть 'people.csv':
agent, height, weight
bill, 72 in, 190lbs
anne, 70 in, 170lbs
вы читаете в виде списка списков:
import csv
people = []
with open('people.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
pass #skips the column headers
line_count += 1
else:
people.append(row)
# This will look like [[ 'bill', '72 in', '190lbs'], ['anne', '70 in',\
#'170lbs']]
вы передаете строку в ваш экземпляр агента, это обычно происходит при создании расписания вашего агента в модуле модели:
for i in range(number_of_agents):
a = myAgent(i, self, row[i])
self.schedule.add(a)
Вы присваиваете переменные строки атрибутам агента:
class myAgent(Agent):
def __init__(self, unique_id, model, row):
super().__init__(unique_id, model)
self.name = row[0] # e.g bill
self.height = row[1] # e.g. 72 in
self.weight = row[2] # e.g. 190 lbs