разделитель с кодировкой utf-16 - PullRequest
0 голосов
/ 28 декабря 2018

Мне нужно записать некоторые данные в 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, потому что мне нужно несколько других модулейкоторые работают только с этой версией.

...