Método load_working_file()

Carga un archivo de trabajo desde el área Datos de trabajo para que el archivo esté disponible para la creación de scripts de Python/HCL. El archivo cargado es una copia, no el original.

Sintaxis

hcl.load_working_file(name = "working_file_name")

Parámetros

Nombre Descripción
name = working_file_name

El nombre del archivo de trabajo. El nombre debe ir entre comillas.

Debe replicar exactamente el nombre del archivo en el área Datos de trabajo, incluida la extensión del archivo. El archivo y el script que carga el archivo deben estar en el mismo robot.

nombre_del_archivo_de_trabajo no distingue entre mayúsculas y minúsculas. Si desea obtener más información, consulte Distinción entre mayúsculas y minúsculas en los nombres de archivo..

Nota

nombre_del_archivo_de_trabajo distingue mayúsculas y minúsculas en Método save_working_file() .

Devuelve

Si el proceso se completa correctamente, el código que se obtiene es 202. Si el proceso no se logra completar, se obtiene un mensaje de error.

Ejemplos

Nota

Puede cargar cualquier tipo de archivo admitido del área Datos de trabajo en un robot de flujo de trabajo o de HighBond y usarlo en un script de Python/HCL. Los archivos CSV y de Excel se usan como ejemplos a continuación debido a que son dos de los tipos de archivos planos más comunes que se usan para almacenar y transferir datos.

Ejemplos de archivos CSV

Cargar un archivo desde el área Datos de trabajo

Desea realizar un análisis de duplicados de registros de facturas del primer trimestre de 2022. Los registros están contenidos en el archivo Invoices_Q1_2022.csv que se cargó previamente en el área Datos de trabajo en el robot. En el script de análisis, primero debe cargar el archivo antes de poder realizar cualquier análisis del mismo.

hcl.load_working_file(name = "Invoices_Q1_2022.csv")

Cargue un archivo de trabajo CSV y conviértalo en un marco de datos

Desea convertir un archivo de trabajo CSV cargado en un marco de datos para poder trabajar con los datos en un formato tabular utilizando Python o HCL.

Cargue un archivo CSV y conviértalo en un marco de datos de Pandas

# Importar la biblioteca de Pandas 
import pandas as pd

# Cargar un archivo CSV desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.csv") 

# Leer el archivo CSV en un marco de datos de Pandas 
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") 

# Mostrar el marco de datos de Pandas
invoices_q1_2022_pd_df

Cargue un archivo CSV y conviértalo en un marco de datos HCL

# Cargar un archivo CSV desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.csv")

# Leer el archivo CSV en un marco de datos HCL
invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv")

# Mostrar el marco de datos HCL
invoices_q1_2022_hcl_df

Convierta un marco de datos HCL en un marco de datos de Pandas

# Convertir un marco de datos HCL en un marco de datos de Pandas
invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas()

# Mostrar el marco de datos de Pandas
invoices_q1_2022_pd_df

Cargar un archivo de trabajo CSV comprimido y convertirlo en un marco de datos

Con el comando ACLScript EXPORT, puede cargar los datos de una tabla local de Analytics a un archivo CSV comprimido (*.csv.gz) en el área Datos de trabajo en un robot HighBond o de Flujo de trabajo. Desea cargar el archivo CSV comprimido y convertirlo en un marco de datos para poder trabajar con los datos en un formato tabular utilizando Python o HCL.

# Importar la biblioteca de Pandas 
import pandas as pd

# Cargar un archivo CSV comprimido (*.csv.gz) desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz")

# Leer el archivo CSV comprimido en un marco de datos de Pandas
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0)

# Mostrar el marco de datos de Pandas
invoices_q1_2022_pd_df

Ejemplos de Excel

Cargue un archivo de trabajo de Excel y conviértalo en un marco de datos

Desea convertir un archivo de trabajo de Excel cargado en un marco de datos para poder trabajar con los datos en un formato tabular utilizando Python o HCL.

Archivo de Excel con una extensión de archivo *.xlsx

El siguiente ejemplo muestra cómo convertir el archivo de Excel cargado a un marco de datos de Pandas. Si es necesario, puede convertir el marco de datos de Pandas en un marco de datos HCL, como se muestra en el ejemplo inmediatamente anterior.

# Importar la biblioteca de Pandas 
import pandas as pd

# Cargar un archivo de Excel (*.xlsx) desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") 

# Leer el archivo de Excel a un marco de datos de Pandas 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") 

# Mostrar el marco de datos de Pandas
invoices_q1_2022_pd_df

Archivo de Excel con una extensión de archivo *.xls

Para convertir un archivo de Excel que usa el formato anterior *.xls, primero debe instalar la biblioteca Python xlrd.

Nota

De manera similar a la aplicación Jupyter Notebook, debe realizar la instalación del paquete de Python ( pip install ) en una celda del editor de scripts independiente.

La instalación de paquetes de Python externos es compatible con los robots HighBond pero no con los robots de Flujo de trabajo.

pip install xlrd
# Importar la biblioteca de Pandas 
import pandas as pd

# Cargar un archivo de Excel (*.xls) desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.xls") 

# Leer el archivo de Excel a un marco de datos de Pandas 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") 

# Mostrar el marco de datos de Pandas
invoices_q1_2022_pd_df

Cargue un archivo de trabajo de Excel y modifíquelo

Desea cargar un archivo de trabajo de Excel, modificarlo y luego volver a guardarlo en el área Datos de trabajo. Puede usar métodos de una biblioteca de Python como pyexcel para realizar las modificaciones sin necesidad de convertir el archivo de Excel en un marco de datos de Pandas o HCL.

Nota

De manera similar a la aplicación Jupyter Notebook, debe realizar la instalación de cada paquete de Python ( pip install ) en una celda del editor de scripts independiente.

La instalación de paquetes de Python externos es compatible con los robots HighBond pero no con los robots de Flujo de trabajo.

pip install pyexcel
pip install pyexcel-xlsx
# Importar la biblioteca pyexcel
import pyexcel as pe

# Importar el método get_data desde la biblioteca pyexcel-xlsx
from pyexcel_xlsx import get_data

# Cargar un archivo de Excel desde el área Datos de trabajo
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx")

# Copiar los datos de Excel en una hoja de pyexcel
sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx")

# Eliminar dos filas de información de encabezado no deseada de la parte superior de la hoja de trabajo
del sheet.row[0, 1]

# Nombrar las columnas usando los valores de nombre en lo que ahora es la primera fila en la hoja de trabajo
sheet.name_columns_by_row(0)

# Eliminar tres columnas no deseadas de la hoja de trabajo
del sheet.column['Prodno', 'Quantity', 'Unit_Cost']

# Guardar la hoja de pyexcel en un nuevo archivo de Excel
sheet.save_as("Invoices_Q1_2022_prepared.xlsx")

# Guardar el nuevo archivo de Excel en el área Datos de trabajo
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Observaciones

Comportamiento de carga de archivos

Cuando carga un archivo desde el área Datos de trabajo en el entorno de ejecución de Python, está cargando una copia, no el archivo original. Si ya existe un archivo con el mismo nombre y mayúsculas y minúsculas idénticas en el entorno de ejecución, se sobrescribe automáticamente.

Distinción entre mayúsculas y minúsculas en los nombres de archivo.

Cuando especifica nombre_del_archivo_de_trabajo no se distingue entre mayúsculas y minúsculas. Cuando ejecuta un script de forma interactiva en el editor de scripts, las mayúsculas y minúsculas que utilice para nombre_del_archivo_de_trabajo se replican en el panel Archivos de sesión. Si carga el mismo archivo dos veces y utiliza mayúsculas y minúsculas diferentes para el nombre del archivo cada vez, el resultado son dos archivos de sesión idénticos con nombres que tienen mayúsculas y minúsculas diferentes. El comportamiento es el mismo cuando usa una tarea para ejecutar un script.

Sin embargo, una vez que se carga un archivo en el entorno de Python, los nombres de los archivos distinguen entre mayúsculas y minúsculas. Entonces, después de cargar un archivo de trabajo, cualquier código posterior debe replicar la distinción de mayúsculas y minúsculas que usó cuando cargó el archivo.

Para evitar errores de scripts simples causados por mayúsculas y minúsculas de archivos que no coinciden, la mejor práctica al cargar un archivo de trabajo es replicar las mayúsculas y minúsculas del nombre de archivo en el área Datos de trabajo.

Mensaje de error de script

Cualquiera de estas situaciones produce el mensaje de error de script que se muestra a continuación:

  • el archivo especificado no existe en el área Datos de trabajo en el robot que contiene el script

  • el nombre del archivo está mal escrito

  • falta la extensión del archivo

Mensaje de error de script:

Excepción: Archivo no encontrado en la sección De trabajo