Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wikidata api 如何使用WbQuantity()函数使用单位(例如1500千瓦)添加数值,使用教程失败_Wikidata Api_Pywikibot - Fatal编程技术网

Wikidata api 如何使用WbQuantity()函数使用单位(例如1500千瓦)添加数值,使用教程失败

Wikidata api 如何使用WbQuantity()函数使用单位(例如1500千瓦)添加数值,使用教程失败,wikidata-api,pywikibot,Wikidata Api,Pywikibot,我正在用Python创建一个半自动化的工具,使用pywikibot,将TOP500数据库中的数据导入Wikidata,如下和教程所示。(这是我第一次用Python编程) 它运行正常,直到脚本尝试提交单元内的数值(例如,→ → 4407.00千瓦)。脚本解析单位内的数值,然后将单位转换为给定语句(kW→ ). 但是,在将单元作为URL(实体帮助器字符串)和语句(QXXXXX)传递时,脚本会抛出错误(这是一个警告,因为我正在使用try-except处理错误): 警告:API错误修改失败:非法值:h

我正在用Python创建一个半自动化的工具,使用pywikibot,将TOP500数据库中的数据导入Wikidata,如下和教程所示。(这是我第一次用Python编程)

它运行正常,直到脚本尝试提交单元内的数值(例如,→ → 4407.00千瓦)。脚本解析单位内的数值,然后将单位转换为给定语句(kW→ ). 但是,在将单元作为URL(实体帮助器字符串)和语句(QXXXXX)传递时,脚本会抛出错误(这是一个警告,因为我正在使用try-except处理错误):

警告:API错误修改失败:非法值:https://wikidata.org/wiki/Q79738
回溯(最近一次呼叫最后一次):
文件“/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/page.py”,第112行,在handle中
func(self,*args,**kwargs)
文件“/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/page.py”,第4325行,在addClaim中
self.repo.addClaim(self,claim,bot=bot,**kwargs)
文件“/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/site.py”,第1326行,被调用方
返回fn(自身、*args、**kwargs)
文件“/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/site.py”,第7946行,在addClaim中
数据=请求提交()
文件“/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/data/api.py”,第2080行,提交
raise APIRROR(**结果['error'])
pywikibot.data.api.APIError:修改失败:非法值:https://wikidata.org/wiki/Q79738 [消息:[{'name':'wikibase验证程序不允许','parameters':['https://wikidata.org/wiki/Q79738'],'html':{'*':'Valor-ilegal:'}];帮助:见https://www.wikidata.org/w/api.php 订阅mediawiki API公告邮件列表,网址为https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce 有关API弃用和重大变更的通知。]
我上传到GitHub。相关的源代码在

WARNING: API error modification-failed: Illegal value: https://wikidata.org/wiki/Q79738
Traceback (most recent call last):
  File "/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/page.py", line 112, in handle
    func(self, *args, **kwargs)
  File "/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/page.py", line 4325, in addClaim
    self.repo.addClaim(self, claim, bot=bot, **kwargs)
  File "/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/site.py", line 1326, in callee
    return fn(self, *args, **kwargs)
  File "/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/site.py", line 7946, in addClaim
    data = req.submit()
  File "/mnt/c/Users/Davod/Documents/git/wikidata_top500/core/pywikibot/data/api.py", line 2080, in submit
    raise APIError(**result['error'])
pywikibot.data.api.APIError: modification-failed: Illegal value: https://wikidata.org/wiki/Q79738 [messages:[{'name': 'wikibase-validator-not-allowed', 'parameters': ['https://wikidata.org/wiki/Q79738'], 'html': {'*': 'Valor ilegal: <a class="external free" href="https://wikidata.org/wiki/Q79738">https://wikidata.org/wiki/Q79738</a>'}}]; help:See https://www.wikidata.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at &lt;https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce&gt; for notice of API deprecations and breaking changes.]