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