Читатель Python UTF-16 CSV

У меня есть файл UTF-16 CSV, который я должен прочитать. Модуль Python CSV, похоже, не поддерживает UTF-16.

Я использую Python 2.7.2. Файлы CSV, которые мне нужно проанализировать, имеют огромный размер и занимают несколько ГБ данных.

Ответы на вопросы Джона Мачина ниже

print repr(open('test.csv', 'rb').read(100))

Вывод с test.csv, имеющим только abc в качестве содержимого

'\xff\xfea\x00b\x00c\x00'

Я думаю, что CSV-файл был создан на машине Windows в США. Я использую Mac OSX Lion.

Если я использую код, предоставленный phihag и test.csv, содержащий одну запись.

Пример содержимого test.csv. Ниже приведен вывод print repr (open ('test.csv', 'rb'). Read (1000))

'\xff\xfe1\x00,\x002\x00,\x00G\x00,\x00S\x00,\x00H\x00 \x00f\x00\xfc\x00r\x00 \x00e\x00 \x00\x96\x00 \x00m\x00 \x00\x85\x00,\x00,\x00I\x00\r\x00\n\x00'

Код по phihag

import codecs
import csv
with open('test.csv','rb') as f:
      sr = codecs.StreamRecoder(f,codecs.getencoder('utf-8'),codecs.getdecoder('utf-8'),codecs.getreader('utf-16'),codecs.getwriter('utf-16'))      
      for row in csv.reader(sr):
         print row

Вывод вышеуказанного кода

['1', '2', 'G', 'S', 'H f\xc3\xbcr e \xc2\x96 m \xc2\x85']
['', '', 'I']

ожидаемый результат

['1', '2', 'G', 'S', 'H f\xc3\xbcr e \xc2\x96 m \xc2\x85','','I']

Ответы на вопрос(4)

Ваш ответ на вопрос