使用 python 在 arangodb 中批量导入 .json 文件
Bulk import of .json files in arangodb with python
我收集了大量 .json 文件,其中包含成百上千个我想导入到 arangodb 集合中的文档。我可以使用 python 来做到这一点吗?如果答案是肯定的,任何人都可以发送一个关于如何从文件列表中做到这一点的例子吗?即:
for i in filelist:
import i to collection
我已经阅读了文档,但我找不到任何类似的内容
我遇到了同样的问题。尽管您的实施会略有不同,但您需要的答案(可能不是您正在寻找的答案)是使用 "bulk import" 功能。
由于 ArangoDB 没有 "official" Python 驱动程序(据我所知),您将不得不仔细阅读其他资源以了解如何解决此问题。
HTTP bulk import/export docs provide curl
commands, which can be neatly translated to Python web requests. Also see the section on headers and values.
ArangoJS 有一个 bulk import 函数,它与对象数组一起工作,因此不需要特殊处理或准备。
我也用过arangoimport tool to great effect. It's command-line, so it could be controlled from Python, or used stand-alone in a script. For me, the key here was making sure my data was in JSONL或"JSON Lines"格式(文件的每一行都是一个自包含的JSON对象,没有边界数组或逗号分隔符)。
经过反复试验,我发现答案就在我面前。所以我不需要导入 .json 文件,我只需要阅读它然后批量导入文档。代码是这样的:
a = db.collection('collection_name')
for x in list_of_json_files:
with open(x,'r') as json_file:
data = json.load(json_file)
a.import_bulk(data)
所以其实很简单。在我的实现中,我从多个文件夹中收集 .json 文件并将它们导入到多个集合中。我正在使用 python-arango 5.4.0 驱动程序
我收集了大量 .json 文件,其中包含成百上千个我想导入到 arangodb 集合中的文档。我可以使用 python 来做到这一点吗?如果答案是肯定的,任何人都可以发送一个关于如何从文件列表中做到这一点的例子吗?即:
for i in filelist:
import i to collection
我已经阅读了文档,但我找不到任何类似的内容
我遇到了同样的问题。尽管您的实施会略有不同,但您需要的答案(可能不是您正在寻找的答案)是使用 "bulk import" 功能。
由于 ArangoDB 没有 "official" Python 驱动程序(据我所知),您将不得不仔细阅读其他资源以了解如何解决此问题。
HTTP bulk import/export docs provide
curl
commands, which can be neatly translated to Python web requests. Also see the section on headers and values.ArangoJS 有一个 bulk import 函数,它与对象数组一起工作,因此不需要特殊处理或准备。
我也用过arangoimport tool to great effect. It's command-line, so it could be controlled from Python, or used stand-alone in a script. For me, the key here was making sure my data was in JSONL或"JSON Lines"格式(文件的每一行都是一个自包含的JSON对象,没有边界数组或逗号分隔符)。
经过反复试验,我发现答案就在我面前。所以我不需要导入 .json 文件,我只需要阅读它然后批量导入文档。代码是这样的:
a = db.collection('collection_name')
for x in list_of_json_files:
with open(x,'r') as json_file:
data = json.load(json_file)
a.import_bulk(data)
所以其实很简单。在我的实现中,我从多个文件夹中收集 .json 文件并将它们导入到多个集合中。我正在使用 python-arango 5.4.0 驱动程序