Как передать Python DataFrame в UiPath? - PullRequest
2 голосов
/ 11 мая 2019

Я вызываю функцию python, используя Пакет действий Python для UiPath (Получить объект Python), и он возвращает DataFrame, чтобы использовать его в UiPath. К сожалению, UiPath не может преобразовать DataFrame в .Net DataType, например DataTable.

enter image description here

Даже когда я пытаюсь преобразовать DataFrame в любой другой формат (String, numpy array, html и т. Д.), Он не работает, хотя в документации явно упоминается, что все типы данных поддерживаются. Скрипт Python выполняет свою работу и сохраняет содержимое DataFrame в файле Excel, и я, конечно, мог бы просто прочитать файл Excel. Мне было просто интересно, есть ли способ напрямую передать данные в UiPath вместо того, чтобы сначала сохранить их и снова прочитать.

1 Ответ

2 голосов
/ 15 мая 2019

На самом деле, я потратил довольно много времени на это, но в конце концов понял, как передать DataFrame панд в UiPath и сделать его доступным там в dataTable.Я объясню, как я это сделал, следующим образом:

  1. Скрипт Python:
    Я позволил функции python, которую я вызываю в действии UiPath 'Invoke Paython Method', возвращать кадр данных pandas какстрока JSON, т.е.

    return df.to_json(orient='records')

  2. Получить объект Python:
    Сохранить строку JSON в переменной типа string

  3. Десериализация JSON:
    Выберите «System.Data.DataTable» в качестве TypeArgument и сохраните результат в переменной типа dataTable

enter image description here

Теперь данные из фрейма данных pandas доступны в .Net dataTable в Uipath.

...