Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
Lea HDF5 desde el navegador con Javascript version_hint.toFixed no es una función

Así que tengo algunos archivos HDF5 de Matlab con .mat como formato (cambiado a .hdf5 sin ninguna diferencia) en Python con h5py puedo extraer los datos que quiero sin ningún problema, ejecuto una aplicación Flask, así que quiero hacer esto al frente final.

En el sitio hay un formulario/carga de archivo y un botón para leer el archivo, cuando se carga el archivo, quiero obtener las claves del archivo y mostrar las claves.

Intenté usar jsfive y h5wasm pero ambos me dan el mismo error en el archivo que funcionó en python: Uncaught TypeError: version_hint.toFixed is not a function

El código que probé es este para jsfive:

Importar desde HTML: <script src="https://cdn.jsdelivr.net/npm/jsfive@0.3.10/dist/browser/hdf5.js"></script>

 function signalsSearch() { var file_input = document.getElementById('signal-file'); var file = file_input.files[0]; let datafilename = file.name; let reader = new FileReader(); reader.addEventListener("loadend", function(evt) { let barr = evt.target.result; var f = new hdf5.File(barr, datafilename); let signals = f.keys(); console.log(signals); }); reader.readAsArrayBuffer(file); }

Aquí está la var f = new hdf5.File(barr, datafilename); que tira el error

Y esto para h5wasm:

 import * as hdf5 from "https://cdn.jsdelivr.net/npm/h5wasm@latest/dist/esm/hdf5_hl.js"; await hdf5.ready; async function loadData() { var signals = []; let file = $("#signal-file")[0].files[0]; let data_filename = file.name; let ab = await file.arrayBuffer(); // hdf5.FS.writeFile(data_filename, new Uint8Array(ab)); let f = new hdf5.File(ab, "r"); // do somthing with f signals = f.keys(); f.close(); return signals }

Aquí está el let f = new hdf5.File(ab, "r"); Eso da un error, en el ejemplo, pasa data_filename isntread of ab here pero eso solo da el error TypeError: First argument to DataView constructor must be an ArrayBuffer

Entonces, por lo que encontré, el error es probablemente que toFixed() obtiene un valor de cadena en lugar de un int o float, lo que no sé es por qué y si es reparable. ¿Puede ser que la forma en que está formateado hdf5 no sea legible por las dos bibliotecas pero está en h5py?

En ese caso, ¿qué puedo hacer? Intenté hacer un botón de envío y hacer la lectura en python y pasar el resultado al sitio, pero eso hace que el sitio se vuelva a cargar y se desplace hacia la parte superior, lo cual es un poco molesto ya que esto es parte de una forma enorme.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda