Conversor de CSV a MessagePack
Convierte datos de CSV a MessagePack al instante mientras escribes, directamente en tu navegador.
Entrada
Salida
Leerme
¿Qué son estos formatos de datos?
Los programas almacenan e intercambian datos estructurados, como ajustes, registros y listas, en formatos de texto que representan los datos de distintas maneras. Un conversor resulta útil cuando un programa proporciona datos en un formato que otro no puede leer, o cuando un formato es más fácil de leer o editar para la tarea en cuestión.
| Formato | Cómo representa los datos | Dónde se utiliza |
|---|---|---|
| JSON | Objetos entre llaves, listas entre corchetes y texto entre comillas dobles | API web y ajustes de aplicaciones |
| YAML | Líneas clave: valor con sangría; los elementos de las listas empiezan por - |
Docker Compose, Kubernetes y archivos de canalizaciones de CI |
| XML | Elementos entre etiquetas, que pueden tener atributos | Documentos, fuentes RSS y servicios web SOAP |
| TOML | Líneas clave = valor bajo encabezados [tabla] |
Archivos de configuración como Cargo.toml y pyproject.toml |
| TOON | Líneas con sangría, con listas de registros en filas bajo sus campos | Datos estructurados enviados a modelos de lenguaje de IA |
| CSV | Una fila de encabezado y, después, una línea por registro; los valores se separan con comas | Hojas de cálculo y exportaciones de bases de datos |
| TSV | Como CSV, pero con tabulaciones entre los valores | Celdas copiadas de una hoja de cálculo |
| MessagePack | Datos binarios, representados aquí como bytes hexadecimales | Mensajes compactos entre programas |
| JSON5 | JSON que también permite comentarios, comillas simples y claves sin comillas | Archivos de configuración escritos a mano |
| JSONL | Un valor JSON por línea; también se conoce como JSON Lines o NDJSON | Registros y conjuntos de datos |
| INI | Líneas clave = valor bajo encabezados [sección] |
Archivos de ajustes de programas, como php.ini |
| Properties | Líneas clave = valor con claves separadas por puntos |
Aplicaciones Java, como los archivos application.properties de Spring Boot |
Descripción de la herramienta
Esta herramienta convierte datos entre estos 12 formatos: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI y Properties de Java. Todos los conversores de formatos de datos funcionan igual, tanto el Conversor de formatos de datos general como los que admiten un solo par, como JSON a YAML, CSV a JSON o XML a JSON: se abren con los formatos que aparecen en su nombre, y los menús Origen y Destino permiten elegir cualquier otro. Pega o escribe tus datos y el resultado aparecerá a medida que escribas en un editor de código con resaltado de sintaxis, listo para copiar. El botón de intercambio invierte la conversión y convierte el resultado en la nueva entrada.
Si la entrada no es válida en el formato de origen, el mensaje de error indica cuál es el problema, normalmente con la línea y la columna correspondientes.
Tus datos se convierten en el navegador y nunca se suben.
Ejemplo
Este JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}se convierte en este YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falseen este CSV, con una fila por usuario:
id,name,admin
1,Ann,true
2,Bo,falsey en este TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseCómo se corresponden los formatos
No todos los formatos admiten los mismos tipos de datos, por lo que algunas conversiones siguen estas reglas:
- CSV y TSV contienen una tabla. La primera fila indica los nombres de las columnas y cada fila restante se convierte en un objeto. Los objetos anidados se convierten en columnas cuyos nombres reflejan su ruta, y las listas se convierten en texto JSON dentro de sus celdas. Por ejemplo,
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}se convierte en las columnasname,address.cityytags. Al convertirlas de nuevo, esas columnas vuelven a convertirse en objetos anidados y listas. Cuando los datos son un objeto que contiene una sola lista, como{"users": [...]}, las filas corresponden a los elementos de esa lista, y una lista de listas se convierte en filas sin encabezado. - Valores de texto: CSV, TSV, XML, INI y Properties solo admiten texto, así que los conversores transforman
trueyfalseen valores booleanos y los números escritos sin formato especial, como42o3.5, en números. Los valores como007,1.50o1e3siguen siendo texto, para conservar el formato exacto de códigos postales y números de versión. - Los atributos de XML se convierten en claves que empiezan por
@, y el texto de un elemento que tiene atributos se convierte en#text:<price currency="USD">44.95</price>se convierte en{"@currency": "USD", "#text": 44.95}. Los elementos repetidos se convierten en una lista. Al convertir a XML, las claves que empiezan por@vuelven a convertirse en atributos. Un objeto con una sola clave cuyo valor no sea una lista se convierte en el elemento raíz. Los demás datos se incluyen dentro de un elemento<root>, y cada elemento de una lista en el nivel superior se incluye en un elemento<item>. Los caracteres que no se pueden usar en nombres XML, como los espacios, se convierten en_. - TOML, INI y Properties solo pueden contener valores con nombre en el nivel superior, así que las listas se escriben bajo el nombre
itemsy los valores únicos, bajovalue. TOML no admite valores nulos, por lo que estos se omiten. - INI representa los objetos anidados como secciones, por ejemplo,
[server.ssl]; las listas de valores, como líneaskey[] = value; y las listas de objetos, como secciones con nombres basados en su posición, por ejemplo,[users.0]. - Las claves de Properties unen los nombres anidados con puntos y numeran los elementos de las listas entre corchetes, como
app.hosts[0], tal como los escribe Spring Boot. Al convertirlas a YAML o JSON, esas claves se convierten en objetos anidados y listas, de modo que un archivoapplication.propertiesse convierte en la estructura de un archivoapplication.yml. Los caracteres que no pertenecen a Latin-1 se escriben como secuencias de escape\u. - Los resultados YAML incluyen entre comillas el texto que los lectores de YAML 1.1 interpretarían como otra cosa, como
on,yeso una fecha, para que los lectores de YAML 1.1 y YAML 1.2 obtengan los mismos datos. Un archivo YAML con varios documentos separados por---se convierte en una lista, y se completan las claves de combinación<<. - MessagePack es binario, por lo que las herramientas lo leen y escriben como bytes hexadecimales:
{"a": 1}se convierte en81 A1 61 01. La entrada puede incluir espacios, comas y0xdelante de cada byte. Varios mensajes consecutivos se convierten en una lista. - Los resultados JSONL incluyen cada elemento de la lista en una línea independiente.
- Los números enteros demasiado grandes para los números de JavaScript, como los identificadores de 64 bits, conservan todos sus dígitos.
- Las fechas y horas de TOML, y las marcas de tiempo de MessagePack, se convierten en texto como
1979-05-27T07:32:00Z.
Consejos
- Para convertir celdas de una hoja de cálculo, cópialas y pégalas como TSV: las aplicaciones de hojas de cálculo copian las celdas como texto separado por tabulaciones.
- CSV y TSV son adecuados para datos que consisten en una lista de registros similares. Los datos con muchos niveles de anidamiento se leen mejor en YAML, TOML o TOON.
- Los comentarios de los archivos YAML, XML, TOML, JSON5, INI y Properties no se conservan, ya que los conversores solo transfieren los datos.