这是一个帮助客户访问和QA持续分析数据的包

sustainalytics的Python项目详细描述


简介

这个python包提供了对Sustainalytics API(应用程序编程接口)服务的访问,该服务为开发人员提供了对Sustainalytics的全天候编程访问™ 数据。API是根据市场标准开发的,主要关注安全连接和易用性。它允许用户检索Sustainalytics数据并将其集成到自己的内部系统和定制或第三方应用程序中

本文档旨在为开发人员提供关于Sustainalytics的python示例代码™ API服务。 技术文档也可以在API专用的website上找到。在

Figure1

安装

连接

要访问API,Sustainalytics团队必须提供clientid和密钥。 请参见python连接

fromsustainalytics.apiimportAPI#Accessclient_id='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'client_secret_key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'api=API(client_id,client_secret_key)#To verify print token or access headersprint(api.access_headers)

终点

获取产品结构和定义

每个产品都是从data packages构建的,每个数据包都是从field clusters构建的。datafields是产品结构中最小的组件。在

产品结构服务提供Sustainalytics API中可用数据字段的概述,以及链接到每个数据字段的唯一的FieldIds。在这个服务中有三个端点,如下所述。在

Figure2

下面的代码向您展示了如何从这些端点提取数据

^{pr2}$

获取报告

ReportService端点允许用户按ReportId、ReportType和ReportName检索属于access范围的公司的所有可用PDF报告类型的列表。在

Figure3

下面的代码向您展示了如何从这些端点提取数据

####ReportService#gives all the available report fieldIDs (reportids)report_info=api.get_pdfReportInfo(dtype='dataframe')#by default dtype='json'print(report_info)####ReportService(identifier)(reportid)#replace x with any EntityId (or another security identifier) and y with any reportid. #Multiple values for identifiers and reportids can also be used#returns the url to given pdf report for specified companies (if available)report_identifier_reportid=api.get_pdfReportUrl(identifier='x',reportId='y')print(report_identifier_reportid)

访问范围

UniverseFaccess端点允许用户确定访问范围中包含的实体ID列表(所有许可的证券列表)。在

Figure4

####UniverseofAccessuniverse=api.get_universe_access(dtype='dataframe')#by default dtype='json'#gets all universe constituentsprint(universe)
#UniverseOfAcesss EntityIdsentityIds=api.get_universe_entityIds(keep_duplicates=True)

获取持续分析数据

数据服务允许用户调用与访问范围内的公司相关联的研究数据。在这个服务中有两个端点,如下所述。在

Figure5

下面的代码向您展示了如何从这些端点提取数据

获取数据

通过传递以下参数从数据服务终结点检索数据。 只能将标识符参数和其他参数之一组合

  • 标识符:安全标识符或实体标识符的列表,用逗号。你可以从api.get_universe_entityIds(保持重复=真)
  • 产品标识:产品标识的列表,用逗号。你可以从api.get_产品标识()
  • packageIds:由分隔的包id的列表逗号。你可以从获取包ID的列表api.get_包ID()
  • fieldClusterID:字段群集ID的列表,用逗号。你可以从获取FieldClusterID的列表api.get_fieldclusterID()
  • 字段ID:字段ID的列表,用逗号。你可以从api.get_字段ID()
# a = identifierlist, b = productIdlist , c = packageIdList, d = fieldClusterList, fieldIdListdata=api.get_data(identifiers='a',productIds='b',packageIds='c',fieldClusterIds='d',fieldIds='e')print(data)

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

推荐PyPI第三方库


热门话题
java通过Spring MVC web应用程序向客户端发送文本文件   java是否可以在运行时动态实例化DAO类?   调用VB。来自Java的net函数   java在Android中通过单击打开特定文件夹   java如何使用maven pom。xml标识非标准项目结构中的testng测试用例?   java为什么FOP在大文件上崩溃?   Architecture python+flask和spring boot+java   java Kafka工具根本没有启动Ubuntu 19.10   如何使用Eclipse运行Java USB API for Windows   java如何在Eclipse中查看J2EE预览服务器/容器的日志/控制台?   网页抓取是否可以使用Java crawler crawler4j暂停和恢复抓取?   java当我第二次按下按钮时,应用程序停止工作   带有偏移量和限制的java SQLite分页问题   java如何在OSX mavericks中将端口80转发到8080   java从泛型方法调用非泛型方法   java My代码未按预期工作。十进制输出不是它应该的样子   节点。java中的js加密(jasypt)和nodejs中的解密   java乘法表不工作数组索引超出范围   java将JDBC与Firebirdsql连接起来