如何使用Pywikibot遍历CSV文件

我想尝试将一系列项目上载到test.wikidata,创建该项目,然后添加初始声明P571。 CSV文件有时具有日期值,有时没有。没有给出日期值时,我要写出占位符“某些值”。

想象这样一个数据框:

df = {'Object': [1,2,3],'Date': [250,300]}

但是,我不确定使用Pywikibot如何使用pywikibot遍历一个csv文件来为每一行创建一个项目并添加一条语句。这是我写的代码:

import pywikibot 
import pandas as pd
site = pywikibot.Site("test","wikidata")
repo = site.data_repository()
df = pd.read_csv('experiment.csv')
item = pywikibot.ItemPage(repo)
for item in df:
    date = df['date']
    prop_date = pywikibot.Claim(repo,u'P571')
    if date=='':
        prop_date.setsnakType('somevalue')
    else:
        target = pywikibot.WbTime(year=date)
        prop_date.setTarget(target)
    item.addClaim(prop_date)

通过PAWS运行此命令时,收到消息:KeyError: 'date'

但是我认为真正的问题是我不确定如何使Pywikibot遍历数据框的每一行并为每个新的日期值创建新的声明。我会为任何好的示例和文档提供任何反馈或建议。非常感谢!

ssf5029317 回答:如何使用Pywikibot遍历CSV文件

回想一下,解决方案是使用.iterrows()或.itertuples()或.loc []访问行中的值。

所以

for item in df.itertuples():       
prop_date = pywikibot.Claim(repo,u'P571')
   if item.date=='':
        prop_date.setSnakType('somevalue')
    else:
        target = pywikibot.WbTime(year=date)
        prop_date.setTarget(target)
    item.addClaim(prop_date)
本文链接:https://www.f2er.com/1487703.html

大家都在问