Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agregar capacidad de leer y guardar ZIP #46

Open
2 tasks
abenassi opened this issue Aug 22, 2017 · 0 comments
Open
2 tasks

Agregar capacidad de leer y guardar ZIP #46

abenassi opened this issue Aug 22, 2017 · 0 comments

Comments

@abenassi
Copy link
Collaborator

Dependencias: este issue requiere la implementación previa de #45

Una vez resuelta la capacidad de DataCleaner para leer y guardar archivos de distintos formatos, debería poder lidiar con leer/escribir archivos que vienen comprimidos en ZIP.

Esto es especialmente necesario para el caso de los SHP (que suelen venir en una carpeta ZIP) pero también es muy útil para hacer transparente la lectura de cualquier otro archivo CSV, etc que venga comprimido.

  • Leer formatos soportados en ZIP (descomprime y luego lee el archivo descomprimido)
  • Guardar en ZIP (genera un archivo del formato elegido, y lo comprime en un ZIP)

Al igual que en los issues #43, #44 y #45 se busca que la experiencia para el usuario sea transparente, pero esto es más difícil en el caso de escritura de ZIPs (¿Cómo debería indicarle el usuario que quiere guardar los datos en formato CSV, GEOJSON, KML o SHP pero también ZIPeados?).

Todas estas combinaciones de opciones deberían ser posibles para el usuario:

from data_cleaner import DataCleaner

input_path = "samples/provincias.zip"
input_path = "samples/provincias/provincias.shp"
input_path = "samples/provincias.geojson"
input_path = "samples/provincias.kml"
input_path = "samples/provincias.csv"

output_path = "samples/provincias.zip"
output_path = "samples/provincias/provincias.shp"
output_path = "samples/provincias.geojson"
output_path = "samples/provincias.kml"
output_path = "samples/provincias.csv"

dc = DataCleaner(input_path)
dc.save(output_path)

Hace falta pensar cuál es la mejor opción de interfaz para guardar el archivo en determinado formato, comprimido dentro de un ZIP:

dc.save("samples/provincias.zip", fmt="SHP")
dc.save("samples/provincias.zip", fmt="CSV")
dc.save("samples/provincias.zip", fmt="GEOJSON")

ó

dc.save("samples/provincias/provincias.shp", compress=True)
dc.save("samples/provincias.csv", compress=True)
dc.save("samples/provincias.geojson", compress=True)

para esto habría que hacer un poco de research de patrones ya usados en Pandas, GeoPandas y otras librerías de python + datos para ver cuál resulta mejor, o si hay un tercero mejor que estos dos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants