{"id":1450,"date":"2026-02-25T23:06:14","date_gmt":"2026-02-25T23:06:14","guid":{"rendered":"https:\/\/derecho.unap.edu.pe\/mespinoza\/?p=1450"},"modified":"2026-02-26T02:05:41","modified_gmt":"2026-02-26T02:05:41","slug":"como-convertir-un-archivo-federated-hyper-de-tableau-a-csv-en-macos","status":"publish","type":"post","link":"https:\/\/derecho.unap.edu.pe\/mespinoza\/2026\/02\/como-convertir-un-archivo-federated-hyper-de-tableau-a-csv-en-macos\/","title":{"rendered":"C\u00f3mo convertir un archivo\u00a0federated.hyper\u00a0de Tableau a CSV en macOS"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p>En el an\u00e1lisis de datos p\u00fablicos publicados mediante dashboards interactivos (por ejemplo, en&nbsp;<strong>Tableau Public<\/strong>), es frecuente que la informaci\u00f3n no est\u00e9 disponible directamente en formato descargable como CSV.<\/p>\n\n\n\n<p>Sin embargo, cuando se logra obtener el archivo&nbsp;<code>federated.hyper<\/code>&nbsp;(extracto interno de Tableau), es posible convertirlo a un formato abierto para fines de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Investigaci\u00f3n acad\u00e9mica<\/li>\n\n\n\n<li>Auditor\u00eda de informaci\u00f3n p\u00fablica<\/li>\n\n\n\n<li>Replicabilidad cient\u00edfica<\/li>\n\n\n\n<li>An\u00e1lisis criminol\u00f3gico y estad\u00edstico<\/li>\n<\/ul>\n\n\n\n<p>Esta gu\u00eda explica&nbsp;<strong>c\u00f3mo convertir un archivo&nbsp;<code>.hyper<\/code>&nbsp;a&nbsp;<code>.csv<\/code>&nbsp;en macOS<\/strong>, e incorpora la fundamentaci\u00f3n jur\u00eddica que legitima el uso de datos p\u00fablicos en el Per\u00fa.<\/p>\n\n\n\n<p>La Constituci\u00f3n Pol\u00edtica del Per\u00fa reconoce el derecho de acceso a la informaci\u00f3n p\u00fablica (art. 2 inciso 5). Este derecho se desarrolla en la Ley N\u00b0 27806&nbsp;\u2013 Ley de Transparencia y Acceso a la Informaci\u00f3n P\u00fablica, Dicha norma establece que toda informaci\u00f3n producida por el Estado es p\u00fablica, salvo excepciones expresamente establecidas por ley.<\/p>\n\n\n\n<p>Si una entidad estatal publica informaci\u00f3n estad\u00edstica en un dashboard oficial, estamos frente a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Informaci\u00f3n p\u00fablica<\/li>\n\n\n\n<li>Datos agregados<\/li>\n\n\n\n<li>Informaci\u00f3n no confidencial<\/li>\n<\/ul>\n\n\n\n<p>Por tanto, su uso para investigaci\u00f3n es leg\u00edtimo.<\/p>\n\n\n\n<p>Debe considerarse tambi\u00e9n la Ley N\u00b0 29733&nbsp;\u2013 Ley de Protecci\u00f3n de Datos Personales<\/p>\n\n\n\n<p>Esta norma protege:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Datos identificables<\/li>\n\n\n\n<li>Informaci\u00f3n sensible<\/li>\n\n\n\n<li>Datos que permitan identificar directamente a una persona<\/li>\n<\/ul>\n\n\n\n<p>En el caso de dashboards estad\u00edsticos de denuncias por ejemplo SIDPOL, generalmente se publican:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Datos agregados<\/li>\n\n\n\n<li>Categor\u00edas delictivas<\/li>\n\n\n\n<li>Distribuci\u00f3n geogr\u00e1fica<\/li>\n\n\n\n<li>Series temporales<\/li>\n<\/ul>\n\n\n\n<p>Mientras no se revele informaci\u00f3n identificable, el tratamiento con fines acad\u00e9micos es jur\u00eddicamente v\u00e1lido.<\/p>\n\n\n\n<p>El uso de datos p\u00fablicos con fines:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cient\u00edficos<\/li>\n\n\n\n<li>Estad\u00edsticos<\/li>\n\n\n\n<li>Acad\u00e9micos<\/li>\n\n\n\n<li>Criminol\u00f3gicos<\/li>\n<\/ul>\n\n\n\n<p>Est\u00e1 protegido por el principio de inter\u00e9s p\u00fablico y transparencia administrativa.<\/p>\n\n\n\n<p>No constituye acceso indebido cuando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El archivo fue descargado legalmente<\/li>\n\n\n\n<li>No se vulneran sistemas de seguridad<\/li>\n\n\n\n<li>No se accede a informaci\u00f3n restringida<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">II. Requisitos T\u00e9cnicos<\/h1>\n\n\n\n<p>Para convertir el archivo en macOS necesitas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>macOS<\/li>\n\n\n\n<li>Python 3.7 o superior<\/li>\n\n\n\n<li>Archivo&nbsp;<code>federated.hyper<\/code><\/li>\n\n\n\n<li>API oficial de Tableau<\/li>\n<\/ul>\n\n\n\n<p>Se utilizar\u00e1:<\/p>\n\n\n\n<p><strong>Tableau Hyper API<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">III. Procedimiento T\u00e9cnico en macOS<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. Verificar Python<\/h2>\n\n\n\n<p>Abrir Terminal:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 --version<\/pre>\n\n\n\n<p>Debe mostrar versi\u00f3n 3.7 o superior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Instalar Hyper API<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">pip3 install tableauhyperapi<\/pre>\n\n\n\n<p>Si falla:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 -m pip install tableauhyperapi<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Colocar el archivo<\/h2>\n\n\n\n<p>Ubicar&nbsp;<code>federated.hyper<\/code>&nbsp;en la carpeta donde se trabajar\u00e1 (ejemplo: Downloads).<\/p>\n\n\n\n<p>Verificar:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ls<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. Crear el Script export.py<\/h2>\n\n\n\n<p>En Terminal ejecutar:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat &lt;&lt; 'EOF' &gt; export.py<br>from tableauhyperapi import HyperProcess, Telemetry, Connection<br>import csvhyper_file = \"federated.hyper\"with HyperProcess(telemetry=Telemetry.DO_NOT_SEND_USAGE_DATA_TO_TABLEAU) as hyper:<br>    with Connection(endpoint=hyper.endpoint, database=hyper_file) as connection:<br>        schemas = connection.catalog.get_schema_names()<br>        for schema in schemas:<br>            tables = connection.catalog.get_table_names(schema)<br>            for table in tables:<br>                table_name = table.name.unescaped<br>                print(\"Exportando tabla:\", table_name)<br>                result = connection.execute_list_query(\"SELECT * FROM \" + str(table))<br>                with open(table_name + \".csv\", \"w\", newline=\"\", encoding=\"utf-8\") as f:<br>                    writer = csv.writer(f)<br>                    writer.writerows(result)print(\"Exportaci\u00f3n completa.\")<br>EOF<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Ejecutar el Script<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 export.py<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. Resultado<\/h2>\n\n\n\n<p>Se generar\u00e1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un archivo CSV por cada tabla contenida en el archivo&nbsp;<code>.hyper<\/code><\/li>\n\n\n\n<li>Los CSV aparecer\u00e1n en la misma carpeta<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En el an\u00e1lisis de datos p\u00fablicos publicados mediante dashboards interactivos (por ejemplo, en&nbsp;Tableau Public), es frecuente que la informaci\u00f3n no est\u00e9 disponible directamente en&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/derecho.unap.edu.pe\/mespinoza\/2026\/02\/como-convertir-un-archivo-federated-hyper-de-tableau-a-csv-en-macos\/\">Seguir leyendo<span class=\"screen-reader-text\">C\u00f3mo convertir un archivo\u00a0federated.hyper\u00a0de Tableau a CSV en macOS<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1450","post","type-post","status-publish","format-standard","hentry","category-manuales","entry"],"_links":{"self":[{"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/posts\/1450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/comments?post=1450"}],"version-history":[{"count":3,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/posts\/1450\/revisions"}],"predecessor-version":[{"id":1455,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/posts\/1450\/revisions\/1455"}],"wp:attachment":[{"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/media?parent=1450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/categories?post=1450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/derecho.unap.edu.pe\/mespinoza\/wp-json\/wp\/v2\/tags?post=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}