Как преобразовать файл Tableau .hyper в фрейм данных pandas?

#python #pandas #dataframe #tableau-api #hyper-api

#python #pandas #фрейм данных #tableau-api #hyper-api

Вопрос:

Я хочу преобразовать файл Tableau .hyper в фрейм данных pandas. Фрейм данных можно преобразовать в файл .hyper, но, к сожалению, я не смог найти решение этой проблемы. Как вы можете достичь этого с помощью python?

Комментарии:

1. Также стоит спросить, как это сделать с помощью Tableau, поскольку он может экспортировать данные в формате csv, которые легко импортировать в фрейм данных.

Ответ №1:

Принятый ответ устарел. Вам больше не нужно использовать Tableau Desktop, теперь вы можете читать .hyper файлы напрямую.

В октябре мы выпустили новый Hyper API, который может читать .hyper файлы на Python. Впоследствии библиотека pantab была обновлена для использования Hyper API и теперь также может считывать фреймы данных из .hyper файла. Таким образом, теперь вы можете использовать его frame_from_hyper метод для этого:

 result = pantab.frame_from_hyper(database=<PATH TO YOUR HYPER FILE>, table=<TABLE INSIDE THE HYPER FILE>)
  

Если вы не знаете имя таблицы внутри вашего .hyper файла или если в вашем файле несколько таблиц, вы также можете использовать frames_from_hyper , который предоставит вам словарь { имя таблицы -> фрейм данных}, то есть один фрейм для каждой таблицы в файле:

 result = pantab.frames_from_hyper(database=<PATH TO YOUR HYPER FILE>)
  

Комментарии:

1. Я обновил предыдущий принятый ответ на основе новых функций API. Не стесняйтесь улучшать его

2. Есть ли способ извлечь из него фрейм данных после получения словаря {имя таблицы -> фрейм данных}?

Ответ №2:

Комментарии:

1. функция теперь реализована в pantab 🙂

Ответ №3:

Для одноразового преобразования вы можете подключиться к hyper extract с помощью Tableau Desktop, а затем экспортировать в CSV из меню data.

Если вы хотите автоматизировать повторяющийся процесс, который не требует ручного использования Tableau Desktop, попросите вашего поставщика данных предоставить данные в формате CSV или другом формате.

Изначально Tableau не предоставлял общедоступный API для чтения из hyper-экстрактов, просто для их создания. (Предположительно, они предпочитали, чтобы люди использовали Tableau для чтения из выдержек.)

В конце 2019 года Tableau выпустила расширенный Hyper API, который теперь позволяет программам считывать данные из извлечений Hyper

Тем не менее, выдержки из таблиц обычно используются как эффективные зеркала исходного источника данных, а не как окончательный источник — так же, как материализованное представление в базе данных отражает базовые таблицы. По мере развития API другие варианты использования могут становиться все более заметными.

Два других варианта для изучения в зависимости от вашего варианта использования, которые могут позволить вам генерировать выдержки из таблиц под управлением программы.

Комментарии:

1. Для пояснения: я хочу избежать создания и обновления выдержек с сервера Tableau и автоматизировать процесс. На Tableau Desktop вы можете постепенно обновлять свою выдержку, определяя определенный столбец. Это то, что я хочу сделать программно с помощью python с заданным файлом .hyper.

2. Я отредактировал ответ, чтобы дать ссылку на пару опций, которые позволяют автоматизировать создание / обновление извлечения без использования Tableau server.