Я обрабатываю файл CSV и у меня есть следующий рабочий код:
reader = csv.reader(open(filename, 'rU'), dialect='excel')
header = reader.next()
Однако, чтобы быть совместимым с другими частями кодовой базы, мне нужно использовать файловый объект, используя pkg_resources.resource_stream
, следующим образом:
fileobj = pkg_resources.resource_stream('foo', 'tests/bar.csv')
reader = csv.reader(fileobj, dialect='excel')
header = reader.next()
(здесь я упрощаю - в основном код csv.reader
находится в функции, над которой у меня нет контроля, и она ожидает fileobj
.)
Это приводит к следующей ошибке.
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
Есть идеи, как я могу использовать режим универсальной новой строки с моим fileobj
? Я ничего не вижу в документации pkg_resources
.
Спасибо.