Export
export
Módulo de exportación de datos XPS.
Este módulo proporciona funciones para exportar espectros XPS y datasets a formatos estándar (CSV, Excel, JSON) con metadata completa.
Funciones Principales
export_to_csv : Exporta datos a archivos CSV export_to_excel : Exporta datos a archivos Excel (.xlsx) export_to_json : Exporta datos a archivos JSON
Ejemplos
from xps_analyzer.export import export_to_csv, export_to_excel from xps_analyzer import load_single_file
Cargar datos
dataset = load_single_file("data.txt") spectrum = dataset.get_spectrum("C 1s")
Exportar a diferentes formatos
export_to_csv(spectrum, "output/c1s_spectrum.csv") export_to_excel(dataset, "output/dataset.xlsx") export_to_json(spectrum, "output/spectrum.json")
Functions:
export_to_csv
export_to_csv(
data: XPSSpectrum | XPSDataset,
output_path: str | Path,
include_metadata: bool = True,
decimal_places: int = 6,
) -> Path
Exporta espectro o dataset XPS a archivo CSV.
Si se proporciona un XPSSpectrum, crea un archivo CSV con dos columnas (binding_energy, intensity). Si se proporciona un XPSDataset, crea un archivo CSV por cada espectro en subdirectorios organizados.
Parámetros
data : XPSSpectrum | XPSDataset Espectro individual o dataset completo a exportar. output_path : str | Path Ruta del archivo de salida. Para datasets, será el directorio base. include_metadata : bool, default True Si True, incluye archivo separado con metadata en formato CSV. decimal_places : int, default 6 Número de decimales para valores numéricos.
Retorna
Path Ruta del archivo (o directorio) creado.
Raises
TypeError Si data no es XPSSpectrum ni XPSDataset. ValueError Si output_path existe y es un archivo cuando se exporta XPSDataset.
Ejemplos
from xps_analyzer import load_single_file from xps_analyzer.export import export_to_csv dataset = load_single_file("muestra.txt") spectrum = dataset.spectra["C 1s"]
Exportar espectro individual
export_to_csv(spectrum, "output/c1s.csv") PosixPath('output/c1s.csv')
Exportar dataset completo
export_to_csv(dataset, "output/muestra/", include_metadata=True) PosixPath('output/muestra/')
Referencias
- Formato CSV estándar (RFC 4180)
Source code in src/xps_analyzer/export/exporters.py
export_to_excel
export_to_excel(
data: XPSSpectrum | XPSDataset,
output_path: str | Path,
include_metadata: bool = True,
decimal_places: int = 6,
) -> Path
Exporta espectro o dataset XPS a archivo Excel (.xlsx).
Crea un archivo Excel con múltiples hojas: - Para XPSSpectrum: hoja "Data" con datos, hoja "Metadata" opcional - Para XPSDataset: una hoja por espectro + hojas de metadata
Parámetros
data : XPSSpectrum | XPSDataset Espectro individual o dataset completo a exportar. output_path : str | Path Ruta del archivo Excel de salida (debe terminar en .xlsx). include_metadata : bool, default True Si True, incluye hojas con metadata. decimal_places : int, default 6 Número de decimales para valores numéricos.
Retorna
Path Ruta del archivo Excel creado.
Raises
TypeError Si data no es XPSSpectrum ni XPSDataset. ValueError Si output_path no termina en .xlsx.
Ejemplos
from xps_analyzer import load_single_file from xps_analyzer.export import export_to_excel dataset = load_single_file("muestra.txt")
Exportar dataset completo a Excel
export_to_excel(dataset, "output/muestra.xlsx", include_metadata=True) PosixPath('output/muestra.xlsx')
Estructura del archivo Excel:
- Hoja "C_1s": datos del espectro C 1s
- Hoja "O_1s": datos del espectro O 1s
- Hoja "Dataset_Metadata": metadata del dataset
- Hoja "Spectra_Metadata": metadata de cada espectro
Notas
- Requiere la librería openpyxl instalada.
- Los nombres de hojas tienen límite de 31 caracteres (Excel).
- Caracteres especiales en nombres de región se reemplazan por "_".
Referencias
- Formato Office Open XML (ECMA-376)
Source code in src/xps_analyzer/export/exporters.py
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | |
export_to_json
export_to_json(
data: XPSSpectrum | XPSDataset,
output_path: str | Path,
include_metadata: bool = True,
indent: int = 2,
) -> Path
Exporta espectro o dataset XPS a archivo JSON.
Crea un archivo JSON con estructura jerárquica que incluye datos y metadata. Los arrays NumPy se convierten a listas para compatibilidad JSON.
Parámetros
data : XPSSpectrum | XPSDataset Espectro individual o dataset completo a exportar. output_path : str | Path Ruta del archivo JSON de salida. include_metadata : bool, default True Si True, incluye campos de metadata en el JSON. indent : int, default 2 Espacios de indentación para formato legible (None = compacto).
Retorna
Path Ruta del archivo JSON creado.
Raises
TypeError Si data no es XPSSpectrum ni XPSDataset.
Ejemplos
from xps_analyzer import load_single_file from xps_analyzer.export import export_to_json dataset = load_single_file("muestra.txt")
Exportar dataset completo a JSON
export_to_json(dataset, "output/muestra.json", indent=2) PosixPath('output/muestra.json')
Estructura del JSON:
{
"type": "XPSDataset",
"filename": "muestra.txt",
"header": {...},
"spectra": {
"C 1s": {
"region_name": "C 1s",
"binding_energy": [280.0, 281.0, ...],
"intensity": [100.0, 200.0, ...],
"metadata":
},
...
}
}
Notas
- Los arrays NumPy se convierten a listas de Python.
- Los valores NaN/Inf se convierten a null.
- El formato JSON es ideal para interoperabilidad con otras herramientas.
Referencias
- JSON Schema: https://json-schema.org/
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
Source code in src/xps_analyzer/export/exporters.py
331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | |