es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Exportación de datos QlikView – Python

No soy muy conocedor del tema … Necesito exportar una tabla desde qlikviewer (donde ya hay un botón de “Enviar a Excel”). Inicialmente intenté con Selenium, pero al llegar al “segundo clic” no encuentra el texto que necesito filtrar. Buscando en la red descubrí que para los servicios de qlick hay APIs, pero no entiendo cómo usarlos, ya que ingreso a qlik con credenciales y en una dirección, no tengo la posibilidad de tener qlick desktop. ¿Alguien puede ayudarme?

Solo para que entiendas (espero).
Usando el comando:

driver.find_element_by_xpath("//div[@id='34']").text

Encuentro el texto al que hago clic, pero usando:

driver.find_element_by_partial_link_text()

No puedo hacer clic en el mismo valor.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en python, excel, descarga, exportación y qlikview, recomiendo utilizar la API REST de Qlik para exportar la tabla desde Qlikviewer. La API REST de Qlik ofrece diferentes puntos finales para interactuar con los servicios de Qlik, incluyendo la recuperación de datos de Qlikview, Qlik Sense y Qlik NPrinting.

    Para utilizar la API REST de Qlik, primero debes obtener la clave API o token de tu administrador de Qlik, lo cual te permitirá acceder a los puntos finales de la API. Una vez que tengas la clave API, puedes utilizarla para autenticar tus solicitudes a la API.

    Para exportar una tabla desde Qlikviewer utilizando la API REST de Qlik, debes:

    1. Identificar el ID del objeto o la URL de la tabla que deseas exportar. Esto suele encontrarse en la URL de Qlikviewer o en las propiedades del objeto en Qlikview.
    2. Utilizar el punto final de la API de Exportación de Objetos para exportar la tabla en formato CSV, Excel u otros formatos compatibles con Qlikview. El punto final de la API de Exportación de Objetos acepta parámetros como el formato de exportación, el nombre de archivo de exportación y las opciones de exportación.

    Aquí tienes un ejemplo de código Python utilizando la biblioteca requests para exportar una tabla desde Qlikviewer utilizando la API REST de Qlik:

    import requests
    
    # Establecer el punto final de la API y los encabezados
    base_url = 'https://<servidor-qlik>/qrs/app/'
    headers = {'Content-Type': 'application/json', 'X-Qlik-Xrfkey': '1234567890123456'}
    
    # Establecer las credenciales para la autenticación
    usuario = '<nombre-de-usuario-qlik>'
    contraseña = '<contraseña-qlik>'
    
    # Autenticar y obtener el token de la API
    auth_url = 'https://<servidor-qlik>/qps/ticket?Xrfkey=1234567890123456'
    datos = {'UserDirectory': 'tu-directorio-de-usuario-qlik', 'UserId': usuario, 'Attributes': []}
    respuesta = requests.post(auth_url, headers=headers, json=datos, auth=(usuario, contraseña), verify=False)
    clave_api = respuesta.json().get('Ticket')
    
    # Exportar la tabla a Excel
    id_tabla = '34'  # Cambia esto por el ID de tu tabla
    punto_final_exportacion = f'{base_url}engine/export/{id_tabla}/xlsx?format=OOXML&filename=mitabla.xlsx'
    
    headers['Authorization'] = f'Bearer {clave_api}'
    respuesta = requests.get(punto_final_exportacion, headers=headers, verify=False)
    
    # Guardar la tabla exportada en un archivo
    with open('mitabla.xlsx', 'wb') as f:
        f.write(respuesta.content)
    

    Ten en cuenta que este código es solo con fines de demostración y debes modificarlo según tus necesidades y entorno específicos. También debes asegurarte de tener los permisos necesarios para acceder a la API REST de Qlik y de que tus solicitudes sean seguras y estén correctamente autenticadas.</contraseña-qlik>

Comments are closed.