Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

386
Vistas
¿Cómo eneldo (encurtido) para archivar?

La pregunta puede parecer un poco básica, pero no pude encontrar nada que entendiera en Internet. ¿Cómo almaceno algo que encurtí con eneldo?

He llegado hasta aquí por guardar mi construcción (pandas DataFrame, que también contiene clases personalizadas):

 import dill dill_file = open("data/2017-02-10_21:43_resultstatsDF", "wb") dill_file.write(dill.dumps(resultstatsDF)) dill_file.close()

y para leer

 dill_file = open("data/2017-02-10_21:43_resultstatsDF", "rb") resultstatsDF_out = dill.load(dill_file.read()) dill_file.close()

pero yo al leer me sale el error

 TypeError: file must have 'read' and 'readline' attributes

¿Cómo hago esto?


EDITAR para futuros lectores: después de haber usado este enfoque (para encurtir mi DataFrame) por un tiempo, ahora me abstengo de hacerlo. Resulta que las diferentes versiones del programa (incluidos los objetos que pueden almacenarse en el archivo de eneldo) pueden hacer que no se pueda recuperar el archivo encurtido. Ahora me aseguro de que todo lo que quiero guardar se pueda expresar como una cadena (de la manera más eficiente posible), en realidad una cadena legible por humanos. Ahora, almaceno mis datos como CSV. Los objetos en celdas CSV pueden estar representados por formato JSON. De esa manera me aseguro de que mis archivos serán legibles en los próximos meses y años. Incluso si el código cambia, puedo reescribir los codificadores analizando las cadenas y puedo entender el CSV al inspeccionarlo manualmente.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Solo dale el archivo sin la read :

 resultstatsDF_out = dill.load(dill_file)

también puedes eneldo para archivar así:

 with open("data/2017-02-10_21:43_resultstatsDF", "wb") as dill_file: dill.dump(resultstatsDF, dill_file)

Asi que:

 dill.dump(obj, open_file)

escribe en un archivo directamente. Mientras:

 dill.dumps(obj)

serializa obj y puede escribirlo para archivarlo usted mismo.

Igualmente:

 dill.load(open_file)

lee de un archivo, y:

 dill.loads(serialized_obj)

construye un objeto a partir de un objeto serializado, que puede leer desde un archivo.

Se recomienda abrir un archivo usando la instrucción with .

Aquí:

 with open(path) as fobj: # do somdthing with fobj

tiene el mismo efecto que:

 fobj = open(path) try: # do somdthing with fobj finally: fobj.close()

El archivo se cerrará tan pronto como deje la sangría de la declaración with , incluso en el caso de una excepción.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda