Мне нужно записать некоторые данные в CSV-файл.Данные содержат символы из китайского и английского языков, поэтому мне нужно использовать кодировку utf-16.Проблема в том, что если я использую кодировку utf-16, то ',' не используется в качестве разделителя в CSV.Код ниже показывает, что я имею в виду.
# with no encoding
import csv
headers = ['Name', 'Date', 'Blahblah']
with open('out.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile, dialect='excel', delimiter=',')
csvwriter.writerow(headers)
ВЫХОД | Имя | Дата | Бла-бла |(| указывает на ячейку, каждая запись в своей ячейке)
# using utf-16 encoding
import csv
headers = ['Name', 'Date', 'Blahblah']
with open('out.csv', 'w', encoding='utf-16', newline='') as csvfile:
csvwriter = csv.writer(csvfile, dialect='excel', delimiter=',')
csvwriter.writerow(headers)
ВЫХОД: | Имя, Дата, Бла-бла |# все записи в одной ячейке
Как заставить запятую работать с кодировкой utf-16?Я предполагаю, что мне нужно указать какую-то escape-последовательность в 'encoding = ...', но я не уверен, что.
Я использую Python 3.4.5, потому что мне нужно несколько других модулейкоторые работают только с этой версией.