knxroot / bdcut-cl

Códigos (Región, Provincia, Comuna) Chile
http://www.lacosox.org
169 stars 58 forks source link

Creado script para generar archivos a partir del CSV #11

Closed Aterbonus closed 7 years ago

Aterbonus commented 7 years ago

He creado un script que es capaz de generar un archivo con el formato deseado a partir del CSV con la info y un archivo json que establece el formato.

Por ahora solo existe el formato para crear un archivo para las bases de datos postgresql.

Más adelante documentaré como crear más archivos de formatos, pero espero que el archivo postgres.json de una buena idea de como hacerlo, así quizás alguien se anima a crear el resto :)

dalacost commented 7 years ago

Está genial este aporte, lo revisaré y comentaré. ojala @knxroot pueda dar su opinión también.

dalacost commented 7 years ago

agregué el formato para mysql, también cambié el nombre al script. Hay que agregar soporte para el ISO_3166_2_CL, se puede extraer desde el archivo mysql y agregarlo al csv para permitir su exportación.

Aterbonus commented 7 years ago

Añadí más etapas para realizar los remplazos (pre-regiones, pre-provincias, pre-comunas). Esto se puede ver en uso en el archivo postgres.json

Además añadí soporte para un separador, Por default al escribir cada región, provincia y comuna estas van separadas por un salto de línea. Ahora se puede especificar un string para separarlos, ideal para cuando se desee crear un archivo.json (Ver regiones.json) que no permite que haya una coma después del último elemento en un array.

Por ahora no es posible generar el resto de los archivos .json que hay en el repositorio (Comunas agrupadas por provincias y provincias agrupadas por regiones) ya que es necesario agrupar los elementos y por ahora el script no realiza esta labor.

dalacost commented 7 years ago

Resumen de lo que hice hoy,

  1. Archivo makefile para compilación masiva de todo
  2. Soporte para poder poner comentarios en la cabecera, se puede especificar no mostrar el comentario en el formato.
  3. agrego formatos para SQLServer y Plist (plist incompleto por ahora)

Completando lo que falta del plist y json, estaríamos listos para hacer el merge. Buen trabajo hasta ahora.

Aterbonus commented 7 years ago

Excelente. En este momento estoy terminando de programar el soporte para json, que supongo también servirá para plist :)

Aterbonus commented 7 years ago

Se han agregado más etapas para realizar reemplazos.

Etapas agregadas:

  1. pre-regiones
  2. post-regiones
  3. post-provincias
  4. post-comunas
  5. pre-provincias-region
  6. post-provincias-region
  7. pre-comunas-region
  8. pre-comunas-provincia
  9. post-comunas-provincia
  10. post-comunas-region

Las etapas 5, 6, 7 y 10 reciben la información de la región que se está iterando en ese momento, con las variables _id y _name.

Las etapas 8 y 9 reciben la información de la provincia que se está iterando en ese momento, con las variables _id, _name, _regionId y _regionName.

Además se agregan nuevos separadores:

La propiedad "separator" será usada en caso de que no se defina alguna de las anteriores.

También se han añadido los archivos de formato para generar los archivos json usando las nuevas opciones.

Ahora es necesario hacer uso del salto de línea de forma explícita. Esto para tener mayor dominio de los archivos a generar.

dalacost commented 7 years ago

gracias @Aterbonus por el excelente trabajo aquí, tus aportes ya están en el master. Saludos!

Aterbonus commented 7 years ago

No hay de qué ;). Excelente trabajo en conjunto. Un granito de arena para un proyecto que me ha servido en más de una ocasión :)