Я пытаюсь очистить (используя al oop для разных пользователей) веб-сайт, а затем сохранить его в словаре и записать в файл.
Проблема в том, что пользователи исчисляются сотнями, и не у каждого пользователя одинаковые данные в json. Для пользователей, у которых нет определенного набора строк данных, это дает мне эту ошибку.
for i in range(10):
u = User(list_of_users[i])
try:
data_list = [[u.name, u.full_name, u.date_of_birth
,u.current_age, p.job_info.get('UserId').get('JobId'), p.job_info_with_z.get('UserId').get('location')]]
except AttributeError:
data_list = [[u.name, u.full_name, u.date_of_birth
,u.current_age, p.job_info.get('UserId').get('JobId'), p.job_info_with_z.get('UserId').get('location')]]
with open('test_players_data.csv', 'a', newline='') as file:
writer = csv.writer(file, delimiter=',')
writer.writerows(data_list)
.name вызывает метод для получения имени, например, мудрый для job_info и info_with_z.
, так что это работает для большинства пользователей, но для пользователей, у которых нет «UserId» «Это дает мне вышеуказанную ошибку. Но есть некоторые пользователи, у которых будет UserId, но не UserIdWithZ. Я хочу пропустить те с некоторыми значениями по умолчанию и продолжить очистку данных и записать их в файл. Как только он терпит неудачу, он не go вперед.
Должен быть способ дать значения по умолчанию, где нет ключей. Я урезал данные. Таким образом, у каждого пользователя есть более 30 различных значений, которые я пытаюсь разбить на 4 блока кода.
пример данных
{
'UserId': {'jobId': '74', 'jobLocation': '72', 'jobType': '10'},
'UserIdWithZ: {'jobId': '74', 'jobLocation': '72', 'jobType': '10'}
}
Я просто хочу, чтобы эта строка / запись в .csv заполняла '' или '-' или 'na' там, где нет никаких данных и не просто сбой ,
Заранее спасибо