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 = "nombre_del_archivo_de_trabajo")

Parámetros

NombreDescripción
name = nombre_del_archivo_de_trabajo

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. Para obtener más información, consulte .

Nota

working_file_name 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

# Import the Pandas library 
import pandas as pd

# Load a CSV file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv") 

# Read the CSV file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv") 

# Display the Pandas dataframe
invoices_q1_2022_pd_df

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

# Load a CSV file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv")

# Read the CSV file to an HCL dataframe
invoices_q1_2022_hcl_df = hcl.read_csv("Invoices_Q1_2022.csv")

# Display the HCL dataframe
invoices_q1_2022_hcl_df

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

# Convert an HCL dataframe to a Pandas dataframe
invoices_q1_2022_pd_df = invoices_q1_2022_hcl_df.to_pandas()

# Display the Pandas dataframe
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.

# Import the Pandas library 
import pandas as pd

# Load a compressed CSV file (*.csv.gz) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.csv.gz")

# Read the compressed CSV file to a Pandas dataframe
invoices_q1_2022_pd_df = pd.read_csv("Invoices_Q1_2022.csv.gz", compression="gzip", header=0)

# Display the Pandas dataframe
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.

# Import the Pandas library 
import pandas as pd

# Load an Excel file (*.xlsx) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx") 

# Read the Excel file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xlsx") 

# Display the Pandas dataframe
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
# Import the Pandas library 
import pandas as pd

# Load an Excel file (*.xls) from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xls") 

# Read the Excel file to a Pandas dataframe 
invoices_q1_2022_pd_df = pd.read_excel("Invoices_Q1_2022.xls") 

# Display the Pandas dataframe
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
# Import the pyexcel library
import pyexcel as pe

# Import the get_data method from the pyexcel-xlsx library
from pyexcel_xlsx import get_data

# Load an Excel file from the Working data area
hcl.load_working_file(name = "Invoices_Q1_2022.xlsx")

# Copy the Excel data to a pyexcel sheet
sheet = pe.get_sheet(file_name="Invoices_Q1_2022.xlsx")

# Delete two rows of unwanted header information from the top of the worksheet
del sheet.row[0, 1]

# Name the columns using the name values in what is now the first row in the worksheet
sheet.name_columns_by_row(0)

# Delete three unwanted columns from the worksheet
del sheet.column['Prodno', 'Quantity', 'Unit_Cost']

# Save the pyexcel sheet to a new Excel file
sheet.save_as("Invoices_Q1_2022_prepared.xlsx")

# Save the new Excel file to the Working data area
hcl.save_working_file(name = "Invoices_Q1_2022_prepared.xlsx")

Observaciones

Área Datos de trabajo

El área Datos de trabajo de un robot es accesible en dos ubicaciones diferentes de la interfaz de usuario de Robots:

  • La ficha Datos de trabajo

  • El panel Datos de trabajo en el editor de scripts

Ambas ubicaciones proporcionan acceso a la misma área de almacenamiento de datos en un robot. Las acciones que realice en una ubicación se sincronizan automáticamente en la otra.

Generación automática del método load_working_file()

Para ahorrar trabajo, el panel Datos de trabajo del editor de scripts genera automáticamente una copia del método load_working_file() con un nombre de archivo específico rellenado previamente:

  • Botón Copiar fragmentoEn el panel Datos de trabajo, cada fila contiene el botón Copiar fragmento . Seleccione el botón para copiar un fragmento con el método load_working_file() rellenado previamente con el nombre del archivo de la fila. Puede pegar el fragmento en cualquier celda del editor de scripts.

  • Creación automática de la celda del editor de scriptsCuando carga un archivo en el panel Datos de trabajo del editor de scripts, se crea automáticamente en la parte superior del script una celda que contiene el método load_working_file() rellenado previamente con el nombre del archivo. Puede utilizar la celda como punto de partida, o copiar el método a otro lugar del script y luego eliminar la celda.

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