извлекать псевдонимы из дампа викиданных с помощью python

Я пытаюсь извлечь определенные поля об элементах викиданных из дампа викиданных, но у меня проблема с псевдонимами, поданными для определенного языка, мой код основан на коде в следующем URL-адресе how_to_use_a_wikidata_dump, я внес свои изменения, но псевдонимы поданы возвращает пустое значение:

       for record in wikidata(args.dumpfile):
    print('i = '+str(i)+' item '+record['id']+'  started!'+'\n')
    item_id = pydash.get(record, 'id')
    item_type = pydash.get(record, 'claims.P31[0].mainsnak.datavalue.value.id')
    arabic_label = pydash.get(record, 'labels.ar.value')
    english_label = pydash.get(record, 'labels.en.value')
    arabic_aliases =pydash.get(record, 'aliases.ar.value')
    english_aliases =pydash.get(record, 'aliases.en.value')
    arabic_desc = pydash.get(record, 'descriptions.ar.value')
    english_desc = pydash.get(record, 'descriptions.en.value')
    main_category = pydash.get(record, 'claims.P910[0].mainsnak.datavalue.value.id')
    arwiki = pydash.get(record, 'sitelinks.arwiki.title')
    arwikiquote = pydash.get(record, 'sitelinks.arwikiquote.title')
    enwiki = pydash.get(record, 'sitelinks.enwiki.title')
    enwikiquote = pydash.get(record, 'sitelinks.enwiki

quote.title')

Формат JSON для элемента викиданных можно найти здесь:Формат JSON

1 ответ

Ответ :

          english_aliases= set()
    if pydash.has(record, 'aliases.en'):
        for itm in pydash.get(record, 'aliases.en'):
            english_aliases.add(itm['value'])
Другие вопросы по тегам