Как я могу автоматизировать Python, чтобы помочь мне загружать вещи из базы данных (Filemaker)?

Я хочу автоматизировать некоторые скучные работы с Python.

Мне нужно время от времени загружать данные из Filemaker. Я не хочу вручную нажимать все кнопки на Filemaker (чтобы открыть базу данных, выполнить поиск, выбрать загрузку в определенном формате и т. Д.)

Могу ли я сделать это с помощью нескольких кодов Python?

Я использую Mac OSX, Python 3 и Filemaker.

2 ответа

Решение

Для многих вещей, которые вы специально упомянули, знаете ли вы, что сценарий FileMaker может сделать это?

Если вы действительно хотите сделать это с Python, я написал бесплатный плагин FileMaker ( http://beezwax.net/bbox), который обеспечивает тесную интеграцию Python с FileMaker. В вашем скрипте Python вы можете использовать fm.executesql Функция для запроса таблицы FileMaker и обработки данных, как вы хотите. Однако, только для macOS, и для вашего случая использования, возможно, наиболее целесообразно, если это делается на стороне клиента.

По-прежнему на стороне клиента (поэтому файл должен быть уже открыт, чтобы это работало), вы можете использовать ODBC-соединение + SQL для передачи ваших данных в Python.

Если файл размещен на FileMaker Server, у вас есть немало вариантов, и я просто перечислю некоторые из них, которые вы можете рассмотреть:

  • установить соединение ODBC из Python в FileMaker, затем использовать SQL для извлечения данных
  • использовать pyFileMaker
  • использовать XML API FMS для получения ваших данных ( https://fmhelp.filemaker.com/docs/16/en/fms16_cwp_guide.pdf)
  • использовать API REST FMS ( https://fmhelp.filemaker.com/docs/16/en/restapi/)
  • создайте системное расписание в FMS, которое сначала запустит простой скрипт для экспорта ваших данных в папку "Документы" на сервере в виде файла tab / csv, а затем попросит Python оттуда его забрать ( http://help.filemaker.com/app/answers/detail/a_id/11893)

Я бы не стал пытаться очистить данные с помощью интерфейса WebDirect сервера FileMaker, если бы мне это не было нужно, но это теоретически возможно.

Вот простой гугл-везунчик: PyFileMaker

Несмотря на это, также должно быть легко сделать паука с помощью pyspider и WebDirect из Filemaker.

Другие вопросы по тегам