piapia123
es

Conversor de matrices y JSON

Conversión

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Convierte texto de matriz (una fila por línea, del tipo que copias de Excel, MATLAB o NumPy) en un array JSON de arrays, o representa un array JSON como una matriz alineada. A diferencia del conversor de tablas de este sitio, aquí los números siguen siendo números: la salida es `[[1,2],[3,4]]`, no `[["1","2"],["3","4"]]`. En una matriz con la que vas a calcular, que los valores sean cadenas o números decide si se puede usar o no. El precio es que una celda como `007` se vuelve `7`; si necesitas conservar los ceros iniciales, usa el conversor de tablas. Las filas de distinta longitud se señalan por número de línea en vez de rellenarse o truncarse, porque un cero añadido o un valor descartado estropea el cálculo posterior de una forma que los propios datos nunca dejan ver.

Funciones

  • Ambos sentidos: texto de matriz a array JSON, y array JSON a texto de matriz
  • Los números siguen siendo números en vez de volverse cadenas
  • Comas, tabuladores, espacios y puntos y coma sirven como delimitador, con detección automática
  • La dirección también se detecta: un [ al principio significa JSON, cualquier otra cosa texto de matriz
  • Las filas desiguales se señalan con el número de la primera línea que no cuadra
  • Las matrices representadas alinean sus columnas: números a la derecha, texto a la izquierda, medido por ancho de visualización para que el CJK cuadre
  • Un array JSON unidimensional se trata como una sola fila, no como un error
  • Ida y vuelta: de texto a JSON y de vuelta deja los números intactos
  • Acepta entrada con CRLF y con LF
  • Todo se ejecuta localmente en el navegador; tus datos nunca se suben

Cómo se usa

  1. Pega el texto de matriz o el array JSON
  2. La dirección normalmente no hay que elegirla: un [ al principio se lee como JSON
  3. Elige un delimitador solo si la detección se equivoca
  4. Copia el resultado

Preguntas frecuentes

¿En qué se diferencia del conversor de tablas?
El conversor de tablas maneja tablas con encabezado y siempre escribe los valores como cadenas, porque un cero inicial como `007` se pierde en el momento en que se vuelve un número. Esta herramienta maneja matrices numéricas sin encabezado y escribe los valores como números, ya que la salida está pensada para calcular con ella: cadenas o números decide si se puede usar directamente. Así que para conservar el texto original usa el conversor de tablas; para obtener una matriz numérica con la que puedas calcular, usa esta.
¿Por qué 007 se ha convertido en 7?
Porque en una matriz numérica esa celda se lee como el número 7. Es el coste inevitable de la regla «los números siguen siendo números»: las dos cosas no pueden cumplirse a la vez, ya que `7` y `"007"` son valores JSON distintos. Para identificadores, códigos postales y números de empleado, usa el conversor de tablas, cuya salida siempre son cadenas.
¿Qué pasa si las filas tienen distinta longitud?
Da un error indicando qué fila no cuadra con la fila 1. Una matriz es rectangular por definición, y rellenar o truncar cambia los datos en silencio: un cero añadido desvía la media, un valor descartado elimina una columna entera, y ninguna de las dos cosas se ve en los propios datos. Lo mismo ocurre en el lado JSON: una forma como `[[1,2],3]`, mitad arrays y mitad escalares, se reporta porque no es una forma válida en absoluto.
¿Por qué no se rellenan las columnas cuando el delimitador es un tabulador?
Porque un tabulador ya alinea por sí solo, y añadir espacios encima hace que el resultado cambie de anchura entre editores: cada editor tiene su propio ancho de tabulación. Con los demás delimitadores las columnas se rellenan por ancho de visualización (un carácter CJK cuenta como dos), con los números a la derecha y el texto a la izquierda, de modo que el orden de magnitud de una columna de números se ve de un vistazo.
¿Se suben mis datos?
No. La conversión ocurre enteramente en la memoria del navegador; la página no hace ninguna petición y funciona sin conexión.

Herramientas relacionadas