Python 3.x Записать литералы Unicode как их значения в файл - PullRequest
0 голосов
/ 23 октября 2018

Я программирую на Win10 с Python 3.x.Мне нужно подключиться к Twitter API и транслировать твиты.Мне нужно хранить их как полностью читаемые ("ä" = "ä"! = "\ U00e4") строки в .csv.

данных - это один полный твит в формате JSON

saveFile=open('twitDB.csv','a', encoding= 'utf-8')
saveFile.write(json.dumps(data, ensure_ascii=False))
saveFile.write('\n')
saveFile.close()

Я попробовал код выше, но умляут все еще отображаются как

Bev\\u00f6lkerung

Я включил # -*- coding: utf-8 -*- в заголовок, но также без изменений.Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 25 октября 2018

Я нашел кого-то, кто сказал мне мою ошибку.

Очевидно, я переключил значение json.dumps и json.loads.Чтобы декодировать строку, я должен проанализировать JSON с json.loads() и записать его с преобразованием str в .csv-файл.

Вот фрагмент:

jdata = json.loads(data) 
        saveFile=open('twitDB.csv','a', encoding='utf8') 
        cfile = csv.writer(saveFile)
        cfile.writerow([str(jdata['id']), jdata['text'], jdata['lang']])
        saveFile.close()
...