Получение «символа новой строки, видимого в поле без кавычек» при разборе csv-документа с использованием django-storages

#django #csv #amazon-s3 #django-storage

#django #csv #amazon-s3 #django-storage

Вопрос:

Я пытаюсь проанализировать csv-файлы, которые были загружены на Amazon S3 с использованием django-storages. Я продолжаю получать сообщение «Ошибка: символ новой строки, видимый в поле без кавычек — вам нужно открыть файл в режиме универсального перевода строки?». Обычный способ обойти это — открыть файл с помощью «rU», но, похоже, это не работает с хранилищами django. Если я отброшу файл непосредственно на сервер и открою оттуда, это сработает, я просто хочу избежать хранения файлов непосредственно на сервере, если это возможно. Вот код, который я использую:

 import csv
from django.core.files.storage import default_storage as s3_storage
n = 'csvdumps/130331548894.csv'
csvf = s3_storage.open(n, "rU")
csvReader = csv.reader(csvf)
for item in csvReader:
    print item
  

Ответ №1:

Я вижу, что это ошибка, о которой сообщалось в django-storage здесьhttp://jgrid.org/david/django-storages/issue/80/trying-to-parse-csv-file-from-django но, возможно, вы можете попробовать это:-

 csvf = s3_storage.open(n.splitlines(), "rU")
  

Также было бы здорово, если бы вы могли поделиться ссылкой для доступа к некоторым из ваших файлов S3 (sample) csv, чтобы я мог открыть их, чтобы проверить окончания строк.