Как я могу автоматизировать 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.