Había una aplicación donde el valor numérico se transmitía como string entre cliente y servidor. Todo iba bien hasta que aparecieron unas fuentes externas que retornaban valores en formato gringo (coma para separar los miles). La decodificación la hacía el módulo de comunicación, que no tenía idea de donde venían los datos, y tenía que pasar de string a entero o float en base a buscar la coma o el punto, etc. Casi siempre acertaba. Casi. No siempre-siempre. ¿Cómo arreglas eso?
@nuwe Según la documentación: Any data saved to the file is appended to the end of the file. O sea, cada array que salvas se va agregando al archivo final.
@CandidMoe el código de eval_expresión es muy largo y he tenido que crear otras funciones como proc_array. Me pregunto si no es mejor crear una clase Eval
Personalmente considero que se deberia tomar en cuenta los siguientes conceptos:
las pregungas solo pueden tener una respuesta marcada como la que resuelve el problema, sea o no sea la mejor.
las respuestas marcadas con recomensas sean o no la que responde la pregunta se suponen que son las de m...
@nuwe Parece que np.save() sobreescribe el fichero y reemplaza lo que hubiera en él por el array que vuelques después. Eso contradice lo que indica su propia documentación que dice que se añade al final del fichero. Sospecho que esto segundo se aplica sólo si en vez de un nombre de fichero le pasas una referencia a un fichero previamente abierto, y en modo "append".
Demo de lo que acabo de decir:
a=np.array([1,1,1])
b=np.array([2,2,2])
with open("testerase.npy", "wb") as f:
np.save(f, a)
with open("testerase.npy", "ab") as f:
np.save(f, b)
c=np.load('testerase.npy',allow_pickle=True)
print(c==b)
Aqui te sale [False False False] porque aunque el fichero al final contiene ambos arrays, np.load() leerá sólo el primero que encuentre en el fichero (que es a). Realmente no encuentro sentido a añadir cosas al fichero si no las vas a poder leer...
Ah, sí puedes leerlas si lo haces mediante varios np.load() (sobre un fichero abierto una sola vez). Es decir, por ejemplo:
with open("testerase.npy", "rb") as f:
print(np.load(f))
print(np.load(f))
----
[1 1 1]
[2 2 2]
Aunque para volcar y recuperar varios arrays veo más sentido hacerlo con un diccionario:
creo que mi pregunta es muy básica pero en serio no sé.
En un script de VBA tengo varios If que evalúan el valor de una propiedad de un objeto junto con otras constantes, algo así:
Const FILE_ALL_ACCESS = &h1f01ff
Const FOLDER_ADD_SUBDIRECTORY = &h000004
Const FILE_DELETE = &h...