У меня проблема с чтением символов юникода из csv. Файл CSV первоначально были элементы с Юникода тегами:Чтение Юникода из CSV
"[u'Aeron\xe1utica']"
"[u'Ni\u0161']"
"[u'K\xfcnste']"
...
, из которого я должен был удалить и '' метки, чтобы дать CSV с
Aeron\xe1utica
Ni\u0161
K\xfcnste
....
Теперь я хочу, чтобы прочитать файл CSV и выводит его в файл с символами, т.е.
Aeronáutica
Niš
Künste
....
Я попытался с помощью UnicodeWriter в csv docs, но это дает тот же результат, что и во втором списке
Вот что я сделал, чтобы читать и писать:
c = open('foo.csv','r')
r = csv.reader(c)
for row in reader:
p = p + row
#The elements in p were ['Aeron\\xe1utica', 'Ni\\u0161', 'K\\xfcnste'...]
c = open('bar.csv','w')
c.write(codecs.BOM_UTF8)
writer = UnicodeWriter(c)
for row in p:
writer.writerow([row])
Я также попытался codecs.open ('', '', 'UTF-8') для чтения и записи, но это не помогло
Нет, вы * не * нужно удалить 'u'. Это значения Unicode, вы * хотите * значения unicode. –
И при чтении CSV с закодированными символами, почему бы не использовать 'UnicodeReader'? –
Чтобы уточнить: '' [u'Aeron \ xe1utica '] 'буквальный текст внутри вашего файла - если нет - что это такое? –