国家科学基金奖数据库检索

fundNSF的Python项目详细描述


基金


美国国家科学基金会(NSF)资助API的Python3包装器。 基金会是为国家科学基金会进行搜索 (NSF)通过其API的奖励数据库。

PyPi

PyPI version

Github

NSF API Website

安装

建议通过PIP安装:

pip install fundNSF

示例

fromfundNSFimportFundNSF>>>nsf=FundNSF()>>>nsf.set_fields(abstractText=True)# Data will now include the abstract text>>>nsf.fields['abstractText']=False# Data will now not include abstract text>>>nsf.set_params(dateStart='01/01/2018',dateEnd='01/31/2018')# enter date as 'mm/dd/yyyy'>>>data=nsf.keyword_search('nano')#returns a Dictionary>>>print(data['title'][0])CAREER:ActiveNano-AcousticWaveguideMatrixtoTackleSignalProcessingLimits:EnablingWidebandandNonreciprocalIntegratedCommunicationBeyondtheUHF>>>award_data=nsf.id_search(data['id'][0])>>>print(award_data['fundsObligatedAmt'][0])500000>>>data=nsf.get_awards_from('07/17/2019')

在set\u fields()方法中将下面的字段用作关键字,以设置要撤消的字段。

默认情况下从搜索中检索的字段
'id': True,
'title': True,
'agency' : True,
'awardeeCity' : True,
'awardeeName' : True,
'awardeeStateCode' : True,
'date' : True,
'fundsObligatedAmt' : True,
'piFirstName' : True,
'piLastName' : True,
其他可检索字段
'offset' : False
'awardeeCountryCode' : False,
'awardeeCounty' : False,
'awardeeDistrictCode' : False,
'awardeeZipCode' : False,
'cfdaNumber' : False,
'coPDPI' : False,
'startDate' : False,
'expDate' : False,
'estimatedTotalAmt' : False,
'fundsObligatedAmt' : True,
'dunsNumber' : False,
'fundProgramName' : False,
'parentDunsNumber' : False,
'pdPIName' : False,
'perfCity' : False,
'perfCountryCode' : False,
'perfCounty' : False,
'perfDistrictCode' : False,
'perfLocation' : False,
'perfStateCode' : False,
'perfZipCode' : False,
'poName' : False,
'primaryProgram' : False,
'transType' : False,
'awardee' : False,
'poPhone' : False,
'poEmail' : False,
'awardeeAddress' : False,
'perfAddress' : False,
'publicationResearch' : False,
'publicationConference' : False,
'fundAgencyCode' : False,
'awardAgencyCode' : False,
'projectOutComesReport' : False,
'abstractText' : False,
'piMiddeInitial' : False,
'piLastName' : True,
'piPhone' : False,
'piEmail' : False

搜索参数

在set_params()方法中用作关键字以设置搜索条件。 可以在NSF API Website中找到更多搜索参数。

'offset': None,               #Record offset -> page cfdaNumber
'agency': None,               #'NSF' or 'NASA'
'dateStart': None,            #Start date for award date to search (ex. 12/31/2012)
'dateEnd': None,              #End date for award date to search mm/dd/yyyy
'startDateStart': None,       #Start date for award start date to search
'startDateEnd' : None,        #End date for award start date to search
'expDateStart' : None,        #start date for award exp date to search
'expDateEnd' : None,          #end date for award exp date to search
'estimatedTotalAmtFrom' : None,
'estimatedTotalAmtTo' : None,
'estimatedObligatedAmtFrom' : None,
'estimatedObligatedAmtTo' : None,
'awardeeStateCode' : None,
'awardeeName' : None

方法:

从(开始日期,批次功能=无,批次号=10)获得奖励

开始日期:字符串格式为“mm/dd/yyyy”

批处理功能:对用户执行批处理操作的功能

批次号:执行批次功能的页数(每页25个奖励)

return:包含奖励数据的词典

如果批处理函数不是,则没有函数将返回true,因为数据将由批处理函数处理

get_awards_from('12/25/2018')

关键字搜索(*args,batch_func=none,batch_number=10)

获取要搜索NSF奖励数据库的关键字列表

批处理功能:对用户执行批处理操作的功能

批次号:执行批次功能的页数(每页25个奖励)

如果批处理函数不是,则没有函数将返回true,因为数据将由批处理函数处理

keyword_search('keyword_1','keyword_2')

ID_搜索(奖励ID)

获取奖励ID并返回包含以下信息的词典 使用参数和字段字典的奖励

id_search(award_id)

获取报告(奖励ID)

检索项目输出报告

award_id:检索报告的award_id

return:返回字符串(report)或字符串列表(reports)或无

>>>report=get_report(1052893)

复位()

将字段和参数字典重置回默认值

>>>reset_fields()

设置字段(self,**kwargs)

为要在搜索过程中检索的字段获取布尔关键字参数

>>>set_fields(abstractText=True)

访问:https://www.research.gov/common/webapi/awardapisearch-v1.htm 有关搜索字段的详细说明

设置参数(self,**kwargs)

为正在使用的搜索参数获取关键字参数

>>>set_params(dateStart='01/01/2017',dateEnd='12/31/2017',awardeeStateCode='WI')

有关搜索参数的详细说明,请访问NSF API Website

获取字段()

返回搜索字段字典

获取参数

返回搜索参数字典

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
for循环的while部分在java中是执行每个过程还是只执行一次?   java Apache commons CLI未按预期进行解析?   应用程序键盘上的java错误按钮   Eclipse中java Visual Studio样式的输出控制台窗口   java如何在OpenGL中从像素中移除颜色(使其透明)   java如何修复错误“无法强制转换到com.sun.speech.freetts.VoiceDirectory”?   java如何使用jmockit创建虚拟实例?   必需变量,找到字符串java   java ListView未将ListView项选择显示到webView中   java在'synchronized(obj){…}'中'obj'参数的用途是什么?   java链表用户输入   XML-java中的非法字符   如何使用Java从maven nexus存储库下载工件列表