insertar comillas en gran consulta

Puedo cargar fácilmente un archivo delimitado por ^ Se parece a...

CN^others^2012-05-03 00:02:25^^^^^Mozilla/5.0^generic web browser^^^^^^^^

CN^others^2012-05-03 00:02:26^^^^^Mozilla/5.0^generic web browser^^^^^^^^

Pero si tengo una comilla doble en alguna parte, falla con un mensaje de error...

Línea: 1 / Campo:, Datos entre comillas dobles de cierre (") y separador de campo: el campo comienza con: Se encontraron demasiados errores. El límite es: 0.

CN^others^2012-05-03 00:02:25^^^^^"Mozilla/5.0^generic web browser^^^^^^^^

Regularmente obtengo los archivos con "Mozilla como nombre de navegador, ¿cómo inserto datos con comillas dobles?

preguntado el 03 de mayo de 12 a las 10:05

sed 's/\"//' # usando sed, eliminé las comillas dobles, pero me gustaría saber cómo manejar las comillas al insertar datos. -

1 Respuestas

Las comillas se pueden escapar con otra comilla. Por ejemplo, el campo: This field has "internal quotes". se convertiría This field has ""internal quotes"".

sed 's/\"/\"\"/g' debería hacer el truco.

Tenga en cuenta que para importar datos que contengan saltos de línea entre comillas, debe establecer el indicador allow_quoted_newlines en verdadero en la configuración de importación. Esto significa que la importación no se puede procesar en paralelo y, por lo tanto, puede ser más lenta que importar datos sin ese indicador establecido.

Respondido el 27 de diciembre de 12 a las 17:12

Obtengo el archivo de un tercero en formato gzip y no tengo la oportunidad de ejecutar el comando sed. Me gustaría saber si puede haber un parámetro que permita comillas cuando el delimitador es algo así como '^' o tubería '|'. En tales casos, no es necesario escapar las comillas dobles. - shantanuo

Presenté una solicitud de función interna para permitir la especificación de caracteres de cotización arbitrarios (o no). Creo que esto sería más claro que tratar de determinar cómo se comportan las cotizaciones en función del delimitador. - jordan tigani

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.