# Agregar datos Traiga datos a Nexus de tres formas: suba archivos a una carpeta, convierta una hoja de cálculo en tabla o use un conector para una fuente como PostgreSQL o Google Sheets. Esta página cubre las dos primeras y cómo agregar filas después. ## Antes de empezar [#antes-de-empezar] - Acceso para agregar archivos a la carpeta. Propietarios y administradores pueden agregar en cualquiera. - Para agregar filas a una tabla, acceso para cambiar sus datos. Un miembro limitado lo necesita de un administrador. Vea [Acceso a datos](/docs/es/data/data-access). - Cada archivo tiene un límite de tamaño según su plan, que muestra el diálogo de subida. ## Archivos que pueden convertirse en tabla [#archivos-que-pueden-convertirse-en-tabla] Cualquier archivo se puede subir y guardar. Estos también pueden convertirse en tabla sin código: - CSV, TSV y texto plano con separador (`.csv`, `.tsv`, `.txt`) - JSON y JSON Lines (`.json`, `.jsonl`, `.ndjson`), y XML - Libros de Excel (`.xlsx`) - Parquet, ORC y Avro - Datos de mapas: GeoJSON, GeoParquet, GeoPackage, Shapefile (como `.zip`), KML, KMZ, GPX y FlatGeobuf ## Subir archivos [#subir-archivos] ### Abra Agregar datos [#abra-agregar-datos] Vaya a y busque **Agregar datos**. ### Suelte sus archivos [#suelte-sus-archivos] Suelte los archivos en el recuadro o haga clic para elegirlos. ### Elija una carpeta [#elija-una-carpeta] En **Agregar a**, elija una de sus carpetas, vea todas las carpetas o cree una **Nueva carpeta**. ### Suba [#suba] Seleccione **Subir**. Cuando el diálogo diga **Subida completada**, seleccione **Abrir carpeta** para ver los archivos. Un archivo con el mismo nombre se guarda como versión nueva; la anterior se conserva. Si una subida se detiene a medias, suba el mismo archivo a la misma carpeta otra vez: solo se envía lo que falta. ```python title="upload_files.py" from klarety import Nexus with Nexus.connect() as nx: folder = nx.folders.at("reports/2026") saved = folder.upload("q3-revenue.xlsx") print(saved["version"]) ``` `folders.at()` recorre una ruta como `reports/2026` desde las carpetas que usted alcanza. `upload()` espera hasta que la versión queda registrada; pase `wait=False` para volver en cuanto el archivo se acepta, útil para muchas subidas seguidas. El equivalente en la línea de comandos es `klarety put q3-revenue.xlsx reports/2026`. ## Convertir una hoja de cálculo en tabla [#convertir-una-hoja-de-cálculo-en-tabla] ### Inicie la importación [#inicie-la-importación] En , seleccione **Convertir una hoja de cálculo en tabla**. También puede abrir **Nexus Lakehouse** y seleccionar **Importar una tabla**. ### Elija el archivo y dónde guardarlo [#elija-el-archivo-y-dónde-guardarlo] Elija el archivo. En **Guardar el archivo en**, elija una carpeta; el archivo queda allí para recargarlo o descargarlo. ### Revise las columnas [#revise-las-columnas] Revise los nombres y tipos en **Columnas encontradas**. ### Nombre la tabla [#nombre-la-tabla] Escriba el **Nombre de la tabla**. Si el nombre ya existe, verá **Esta tabla ya existe** y elegirá **Agregar filas** o **Reemplazar filas**. ### Importe [#importe] Seleccione **Importar**. Al terminar, seleccione **Abrir tabla**. Un archivo que ya está en Almacenamiento de objetos se convierte en tabla igual: abra su menú y elija **Crear una tabla**. Haga primero una vista previa, para detectar una columna mal interpretada antes de escribir filas. Luego cargue: ```python title="import_table.py" import time from klarety import Nexus with Nexus.connect() as nx: preview = nx.ingest_preview("customers.csv", into="customers") print(preview) run = nx.ingest("customers.csv", into="customers", schema="default") while run.state in ("accepted", "running"): time.sleep(2) run = nx.ingest_status(run.run_id) print(run.state) ``` Una carga termina como `succeeded`, `failed` o `cancelled`. `ingest()` acepta una ruta local, que sube primero, o una URI. Desde la línea de comandos: `klarety ingest customers.csv --into customers`. ## Agregar filas a una tabla que ya existe [#agregar-filas-a-una-tabla-que-ya-existe] Cuando la tabla ya existe, elija cómo llegan las filas nuevas: | Opción en la app | `mode` en código | Qué pasa | | --- | --- | --- | | **Agregar filas** | `auto` | Se agregan filas nuevas. Las filas que ya están en la tabla no se agregan dos veces. | | **Actualizar filas por clave** | `upsert` | Usted elige las columnas que identifican una fila. Una fila con la misma clave se reemplaza; las demás se agregan. | | **Reemplazar todas las filas** | `replace` | Después, la tabla contiene solo este archivo. El historial conserva las filas anteriores. | La tabla conserva solo el archivo nuevo. Las filas anteriores quedan en el [historial](/docs/es/data/undo-and-restore), así que puede volver atrás si el archivo estaba mal. **Agregar filas** sirve para registros nuevos, como los pedidos de este mes. **Actualizar filas por clave** sirve para registros corregidos, como una exportación nueva de clientes con clave `customer_id`. **Reemplazar todas las filas** sirve cuando el archivo es la versión completa y actual. ### Abra la tabla [#abra-la-tabla] En **Nexus Lakehouse**, abra la tabla y seleccione **Agregar datos desde un archivo**. ### Elija el archivo [#elija-el-archivo] Elija el archivo y la carpeta donde guardarlo. ### Elija cómo se cargan las filas [#elija-cómo-se-cargan-las-filas] En **Cómo se cargan las filas**, elija **Agregar filas**, **Actualizar filas por clave** o **Reemplazar todas las filas**. Para **Actualizar filas por clave**, marque las **Columnas que identifican una fila**. ### Cargue [#cargue] Seleccione **Cargar**. Puede cerrar el diálogo; la carga sigue, y la pestaña **Historial** muestra la nueva versión al terminar. ```python title="update_by_key.py" from klarety import Nexus with Nexus.connect() as nx: run = nx.ingest( "customers-latest.csv", into="customers", mode="upsert", key=["customer_id"], ) print(run.run_id, run.state) ``` Una clave tiene como máximo 8 columnas. Un archivo se carga en una tabla una sola vez: cargarlo de nuevo no hace nada, salvo que pase `force=True`. Para cargar filas desde una fuente conectada, indique la conexión y una consulta: `nx.ingest(connection="CONNECTION_ID", query="SELECT * FROM orders", into="orders")`. ## Filas que no cumplen una verificación [#filas-que-no-cumplen-una-verificación] Las filas que no cumplen una verificación de la tabla se apartan; el resto se carga normalmente. El panel de verificaciones muestra cuántas filas escribió y apartó cada carga. Vea [Trabajar con tablas](/docs/es/data/tables#agregar-verificaciones-de-datos). ## Qué puede salir mal [#qué-puede-salir-mal] Divida el archivo, o guárdelo como archivo y cárguelo por partes desde código. Abra la pestaña **Columnas** de la tabla para ver qué se leyó. Desde código, ejecute primero `nx.ingest_preview()`: muestra qué pasaría antes de escribir filas. El mensaje indica el motivo, a menudo una columna clave que falta en el archivo con **Actualizar filas por clave**. **Agregar filas** nunca agrega una fila dos veces, y el mismo archivo no se carga dos veces en la misma tabla. Si quería cargarlo de nuevo, elija **Reemplazar todas las filas**, o pase `force=True` en código. ## Siguientes pasos [#siguientes-pasos] - [Trabajar con tablas](/docs/es/data/tables): explore, edite y verifique la tabla que creó. - [Almacenamiento de objetos](/docs/es/data/object-storage): importe archivos nuevos de una carpeta automáticamente. - [Conectores](/docs/es/connectors): traiga datos de PostgreSQL, Google Sheets, Amazon S3 y más. - [Consultar con SQL](/docs/es/data/sql-editor): haga preguntas a su nueva tabla.