问题描述
我在 ndjson 文件中有大约 300.000 个维基数据 ID(例如 Q1347065、Q731635 等)的列表
{"Q1347065": ""}
{"Q731635": ""}
{"Q191789": ""} ... etc
我想要的是获取每个id的标签,形成一个key值的字典,比如
{"Q1347065":"epiglottitis","Q731635":"Mount Vernon",...}
等
在 id 列表变得如此庞大之前,我使用的是 Wikidata python 库 (https://pypi.org/project/Wikidata/)
from wikidata.client import Client
import ndjson
client = Client()
with open("claims.ndjson") as f,open('claims_to_strings.json','w') as out:
claims = ndjson.load(f)
l = {}
for d in claims:
l.update(d)
for key in l:
v = client.get(key)
l[key] = str(v.label)
json.dumps(l,out)
但是它太慢了(1000 个 ID 大约需要 15 个小时)。是否有另一种方法可以比我一直在做的更快地实现这一目标?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)