migrar csv, delimitador

Events happening in the community are now at Drupal community events on www.drupal.org.
leandro713's picture

tengo un CSV con contenido tal que:

367;01/01;En esta fecha de 1998, la turbina principal de Peach Bottom 2 estuvo rodando a 1.400 rpm durante 2 horas sin que los operadores se diesen cuenta.  Se había utilizado un procedimiento de prueba que no restituyó la turbina a la configuración requerida para el arranque de la central.;Implantar controles procedimentales para asegurar que las condiciones de planta establecidas permiten la adecuada operación de los sistemas.;277-980101-1;0;1
1;01/01;En esta fecha de 2000, se identificó un canal de combustible caliente en Kaiga 2 (India). Las radiografías mostraron un taponamiento parcial del canal de combustible CANDU provocado por una arandela. Se procedió a la descarga de combustible del canal, se instaló un tapón de hielo y se extrajo la arandela.;Los restos de suciedad, por pequeños que sean, pueden tener graves consecuencias en la integridad del combustible. Establecer y comunicar de forma clara las expectativas relacionadas con los controles de exclusión de materiales extraños.;867-000101-1;1;2

mi YML es:

id: efemeride
migration_tags:
  - CSV
migration_group: anav
label: Efemerides
source:
  plugin: csv
  path: modules/custom/anav_migrate/assets/csv/efemerides.csv
  delimiter: ;
  header_row_count: 0
  keys:
    - ID

he intentado con delimiter: ; y delimiter: ";"

pero parece que está haciendo el explode por comas, no por puntos y coma

array (12) [
    'id' => string UTF-8 (318) "64;04/03;En esta fecha de 1984 se incendió el bobinado de una bomba de refrigerante del reactor en Biblis A (Alemania) debido a que se habían dejado un cincel en el interior del motor. Hubo que retrasar el arranque de la planta un mes para poder reparar el motor.;Asegurarse de que los programas de formación iniciales"
    'fecha' => string UTF-8 (169) " continuos y específicos de una tarea proporcionan el conocimiento y destreza necesarios para implantar prácticas eficaces de exclusión de materiales extraños.;SOER 95-1"
    'suceso' => string (75) " Reducing Events Resulting from Foreign Material Intrusion (07-11-1995);1;2"

a alguien le ha pasado?

Comments

Encierra el delimitador en comillas simples

jncruces's picture

Prueba así:

id: efemeride
migration_tags:
  - CSV
migration_group: anav
label: Efemerides
source:
  plugin: csv
  path: modules/custom/anav_migrate/assets/csv/efemerides.csv
  delimiter: ';'
  enclosure: \"
  header_row_count: 0
  keys:
    - ID

así tampoco va

leandro713's picture

eso fue lo primero que probé.
de todos modos, da igual. con vim y una expresión regular le he cambiado el delimitador a una coma y el enclosure a comillas dobles, ahora ya anda

Libreoffice

jncruces's picture

Era más fácil usar Libreoffice para abrir el csv y guardar cambiando el delimitador :D, pero bueno ya hecho esta y lo que importa es el resultado :).

Bueno según ví tu primer comentario decía que habías encerrado entre comillas dobles ";".

De todas formas otra cosa que se me ocurrió más tarde fué que quizás no te estaba tomando el punto y coma porque debía escaparse de la siguiente forma:

d: efemeride
migration_tags:
  - CSV
migration_group: anav
label: Efemerides
source:
  plugin: csv
  path: modules/custom/anav_migrate/assets/csv/efemerides.csv
  delimiter: \;
  enclosure: \"
  header_row_count: 0
  keys:
    - ID

En cualquier caso. ¡Me alegro que solventases!

Disfruta :)

Madrid

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: