sqlcontext read python csv

python - sqlcontext - pyspark read csv



Error de lectura de CSV: carácter de nueva línea visto en el campo sin comillas (1)

Creé una secuencia de comandos python que funciona con un conjunto de datos CSV de prueba de 10 registros. Cuando amplié esto a los conjuntos de datos reales (unas pocas filas), recibo el siguiente error:

_csv.Error: carácter de nueva línea visto en el campo sin comillas: ¿necesita abrir el archivo en modo universal-nueva línea?

El código es el siguiente:

with open(''./Origins.csv'', ''r'') as csvfile: reader = csv.DictReader(csvfile) origincoords = [''{Y},{X}''.format(**row) for row in reader]

El código de error completo es:

Traceback (most recent call last): File "./Driving.py", line 14, in <module> origincoords = [''{Y},{X}''.format(**row) for row in reader] File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/csv.py", line 103, in next self.fieldnames File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/csv.py", line 90, in fieldnames self._fieldnames = self.reader.next() _csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

Quizás hay un problema de escala con el método de lectura CSV que estoy usando?


De PEP-0278 :

En Python con soporte de nueva línea universal, open () el parámetro de modo también puede ser "U", que significa "abierto para la entrada como archivo de texto con interpretación universal de línea nueva". El modo "rU" también está permitido, para la simetría con "rb"

Intenta cambiar

with open(''./Destinations.csv'', ''r'') as csvfile:

a

with open(''./Destinations.csv'', ''rb'') as csvfile:

Si el error persiste, cambie a

with open(''./Destinations.csv'', ''rU'') as csvfile:

Editado de acuerdo con el comentario de Martijn Pieters.