Джулия это очень молодой язык по сравнению с Питон или Матлаб Отказ Таким образом, его экосистема еще не так велика, как у Python или Matlab. . Это будет очень захватывающая идея для Джулии, чтобы иметь возможность импортировать существующие модули и функции Python, не так ли?
Сегодня я рад, что успешно выполнил работу, связанной с базой данных графа в Джулия Импортируя некоторые Python модули. Так что здесь я буду представить шаг за шагом, что я сделал только сейчас.
Установите PKG Pycall.
using pkg Pkg.add("PyCall")
Используйте Pycall с правильным Python Env
Я использую AnaConda для разработки Python. И на моей машине есть три разных версиях Python, которые управляются Кондейской Env. Поэтому мне нужно указать правильный путь Python в параметре Julia Env, а затем повторно построить Pycall.
ENV["PYTHON"] = "D:\\Anaconda3\\envs\\py36\\python.exe" Pkg.build("PyCall") using PyCall
Импортируйте некоторые модули
pyneo = pyimport("py2neo") pyjson = pyimport("json")
Приготовление данных
Я подделал файл данных “data.json” с несколькими французскими выражениями. Этот файл содержит три объекта французского выражения выражения, и каждый из них имеет «ID», «FR», «ZH» и «категория». Содержание этого файла выглядит следующим образом:
[ { "id": 1, "fr": "Tu me dégoutes!", "zh": "我讨厌你! ", "category": "plainte" }, { "id": 2, "fr": "Je veux plus jamais te voir !", "zh": "我不愿再见到你! ", "category": "plainte" }, { "id": 3, "fr": "T'es dingue !", "zh": "你疯了! ", "category": "plainte" } ]
datafile = open("./data.json", "r"); ss = read("data.json", String); print(ss)
Теперь попробуйте анализировать содержимое файла как объект JSON, используя импортные JSON модуль.
d = pyjson.loads(ss) println("d: $d")
Это сработало это, я могу использовать Python «Как json.
Модуль для анализа JSON
-форматная строка (я думаю, что все еще должны быть проблемы, когда формат строки не чист, чтобы проверить в будущем).
позвоните в базу данных Python Neo4j и проверьте его
Я использую Py2Neo Модуль для подключения к моему локальному Neo4j база данных. И проверить его простым Cypher команда. Оно работает. Однако я столкнулся с ошибкой при попытке создать Узел
в график
. Тип a Узел
Объект был преобразован в Дикт
в Джулия Отказ
graph = pyneo.Graph("http://localhost:7474",username="neo4j",password="123456") res = graph.run("match (n) return n limit 10") print(collect(res)) n = pyneo.Node("testNode", name="test") println(typeof(n)) graph.create(n) # create nodes in the graph db
Вывод:
Создать узлы с помощью Cypher
С Cypher Исполнение работает правильно, поэтому я пытался выполнить CMD Создание (N: Expression) Установите N.id = $ ID SET N.FR = \ "$ FR \" SET N.ZH = \ "$ ZH \" RETURN N
Для каждого элемента Dict, создаваемого из файла JSON. Работает, и я вижу выражения на графике.
for i in d id = i["id"] fr = i["fr"] zh = i["zh"] res = graph.run("create (n:expression) set n.id=$id set n.fr=\"$fr\" set n.zh=\"$zh\" return n ") println(id, collect(res)) end
Вывод консоли:
Neo4j snapshot:
Оригинал: “https://dev.to/jemaloqiu/learn-julia-14-calling-python-modules-14bf”