писать китайские слова в CSV-файл, используя python2.7

Я пытаюсь написать китайские слова, такие как 花花公子昊天鞋类专营店, в файле CSV на python, но не могу этого сделать. Я попробовал решение, приведенное здесь («проблемы с записью китайского языка в файл csv на Python"). Любая помощь будет оценена.


person Preeti    schedule 29.09.2015    source источник


Ответы (1)


В этом помогает модуль unicodecsv (его можно установить с помощью pip):

import unicodecsv
w = unicodecsv.writer(open("test.csv", "w"))
w.writerow((u"花花公子昊天鞋类专营店", 78.10))
del w

Полученный CSV-файл успешно открывается в OpenOffice.

Вы также можете прочитать его на Python:

r = unicodecsv.reader(open("test.csv", "rb"))
for row in r:
    print row[0], row[1]

И при запуске он должен напечатать:

(user@motoom) ~/Prj/python $ python chinesecsv.py

花花公子昊天鞋类专营店 78.1
person Michiel Overtoom    schedule 29.09.2015
comment
Я попробовал ваш код с тем же китайским словом. Но я нашел это 花花公å昊天鞋类专è¥åº— в моем CSV-файле вместо 花花公子昊天鞋类专营店 - person Preeti; 29.09.2015
comment
В каком приложении вы открывали файл CSV? Если это приложение не распознает его как кодировку UTF8, вы получите тарабарщину, показанную выше. - person Michiel Overtoom; 29.09.2015
comment
Я добавил в пример код для чтения и печати полученного CSV-файла. - person Michiel Overtoom; 29.09.2015
comment
Когда я открываю CSV в приложении, которое предполагает, что файл закодирован с помощью кодировки Windows 1251, я также получаю 花花公å­?昊天鞋类专è?¥åº—,78.1, так что это может быть вашей проблемой. Попробуйте открыть CSV с помощью приложения, которое может интерпретировать кодировку UTF8. - person Michiel Overtoom; 29.09.2015
comment
о да. В этом была проблема. Спасибо, Михиэль. - person Preeti; 06.10.2015