Изменение кодировки списков Python
Час добрый
Подскажите пожалуйста каким образом можно переделать следующий список в кодировке cp1252 для сохранения в файл используя utf-8
full_info.append(
{
'title': title_list[0],
'about_profile': about_profile_list[0],
'video_links': all_video_links[append_number],
'video_data': video_data_list[append_number],
'video_desc': video_descriptions_list[append_number]
}
)
На данный момент если сохраняю при помощи
with open('data_file.csv', 'a', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile, delimiter=';')
for link in full_info:
writer.writerow([link['title'], link['about_profile'], link['video_links'], link['video_data'], link['video_desc']])
На каком-то моменте вылазит ошибка декодирования, о том, что невозможно декодировать элемент при помощи cp1252, если сохранять в файл без encoding='utf-8'.
Исправил пост, пробовал переводить из cp1252 в utf-8 следующим способом:
full_info.append(
{
'title': title_list[0].encode('cp1252').decode('utf-8'),
'about_profile': about_profile_list[0].encode('cp1252').decode('utf-8'),
'video_links': all_video_links[append_number].encode('cp1252').decode('utf-8'),
'video_data': video_data_list[append_number].encode('cp1252').decode('utf-8'),
'video_desc': video_descriptions_list[append_number].encode('cp1252').decode('utf-8')
}
)
Но во время декодирования вылетает
File "C:\Users\kk\Desktop\ytb_scrapper\main.py", line 200, in get_videos_link
'title': title_list[0].encode('cp1252').decode('utf-8'),
File "C:\Users\kk\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-6: character maps to <undefined>