#python #python-3.x #list #csv #class
Вопрос:
Я хочу использовать значения этого csv-файла для создания пользовательской команды в GAM(Рабочее пространство Google).(Я бы использовал команду GAM, используя ОС импорта)
Robert.Samson,50,false,teacher
Sam.Robertson,20,swimming,bartender
David.Bufi,100,biking,false
Med.Sevia,70,false,lawyer
Пример команды Роберт: gam queries ""directmanager='testuser@domain.com' issuspended=false, name='test'"" print users
Итак, как вы можете видеть, моя идея состоит в том, чтобы воссоздать эту команду, например, но с использованием значений csv, и сделать это для многих пользователей. Имейте в виду, что некоторые части команды по умолчанию будут отображаться как directmanager или issuspended.
Код, который у меня есть до сих пор:
import csv
my_list = []
with open('myfile.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
my_list.append({'name': row[0], 'age': int(row[1]),
'hobbies': row[2], 'profession': row[3]})
print(my_list)
Следует иметь в виду, что я не хочу принимать значения, которые являются ложными в csv, для использования Робертом, я не хочу принимать его хобби, потому что это ложь.
Примеры:
gam queries ""directmanager='testuser@domain.com' issuspended=false name='Robert.Samson' age='50' profession='teacher'"" print users
gam queries ""directmanager='testuser@domain.com' issuspended=false, name='Sam.Robertson' age='20' hobbies=swimming profession='bartender' "" print users
Я не знаю, как лучше всего это сделать, у меня нет большого опыта в занятиях.
Есть какие-нибудь идеи?
Ответ №1:
Вы можете построить свой ряд более поэтапно:
for row in reader:
row_dict = {
'name': row[0],
'age': int(row[1],
'profession': row[3]
}
if row[2]:
row_dict['hobbies'] = row[2]
my_list.append(row_dict)