加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

代码详解:行使Python从差异表格中提取数据

发布时间:2019-10-01 11:25:40 所属栏目:编程 来源:读芯术
导读:常用的表格数据存储文件名目CSV,Microsoft Excel,Google Excel 。 Python凡是称为粘合说话。这个名称归因于人们逐渐开拓出的大量接口库和特性,也得益于普及的行使和精采的开源社区。这些接口库和特性能直接会见差异的文件名目,还可以会见数据源如数据
副问题[/!--empirenews.page--]

常用的表格数据存储文件名目——CSV,Microsoft Excel,Google Excel 。

代码详解:行使Python从差异表格中提取数据

Python凡是称为粘合说话。这个名称归因于人们逐渐开拓出的大量接口库和特性,也得益于普及的行使和精采的开源社区。这些接口库和特性能直接会见差异的文件名目,还可以会见数据源如数据库、网页和各类API。

本文的进修内容:

从谷歌表格中提取数据

  • 从CSV文件中提取数据
  • 从Excel文件中提取数据

本文合用于以下读者:

  • Python初学者
  • 必需按期处理赏罚数据的职员

因为本文附有代码,提议处在开拓情形之下(提议行使JupyterNotebook / Lab),并成立一个新的条记本。

源代码和文件:https://github.com/FBosler/Medium-Data-Extraction

办理要领

本文将带你进入一个虚拟但却也许非常认识的场景。你可以团结差异的数据来历去建设陈诉或举办说明。

留意!!!下面的示例和数据纯属虚拟。

假设,你的使命是搞清晰怎样进步贩卖团队的业绩。假设隐藏的客户有相等自发的需求。这种环境产生时,贩卖团队将订单导入体系。然后,贩卖代表们会在订单交付时布置一个集会会议。详细日期偶然在交付期之前,偶然在交付期之后。你的贩卖代表有一笔用度预算,会在开会时代付出餐费。他们认真报销这笔用度,并将发票交给管帐团队处理赏罚。在隐藏客户抉择是否要接管报价后,贩卖代表会跟踪订单是否告竣。

可行使以下三个资料来历举办说明:

  • 100,000 份订单 (Google表格)
  • 约50,000张餐费发票(Excel文件)
  • 认真公司及贩卖代表名单(CVS文件)

获取谷歌表格数据

会见谷歌表格是这三种要领中最伟大的,由于你必要在行使谷歌表格API前配置一些证书。理论上,你可以获取一个果真可用的谷歌表(即提取源HTML代码)但必需行使Beautiful Soup之类的器材举办大量数据操纵,才气将HTML转储转换为有效的内容。我确实实行过,可是功效很糟糕,不值得一试。以是,API就是云云。另外,还将行使gspread无缝转换数据说明DataFrame。

获取OAuth2证书

前去谷歌开拓职员节制台,建设一个新项目(或选择现有的项目)。点击“建设项目”。假如公司行使谷歌邮件,可将其变动为私家帐户,以停止隐藏的权限斗嘴。

代码详解:行使Python从差异表格中提取数据

为项目定名(名称无关紧急,此处将其定名为媒体数据提取)。

代码详解:行使Python从差异表格中提取数据

点击APIs & Services ,前去library。

代码详解:行使Python从差异表格中提取数据

启用谷歌Sheets API。单击功效,并在如下页面上单击启用 API。

代码详解:行使Python从差异表格中提取数据

建设一个处事帐户和密钥文件。处事帐户是用于措施会见的专用帐户,会见权限有限。处事帐户可以并且应该通过有尽也许多的特定权限项目举办配置,当前的使命也必要云云。

代码详解:行使Python从差异表格中提取数据

建设JSON(另一种文件名目)密钥文件。在脚色上,选择“Project -> Viewer”。

代码详解:行使Python从差异表格中提取数据

假如还没有在前面的步调中配置脚色请当即配置。

代码详解:行使Python从差异表格中提取数据

留意:配置为“Viewer”会存在一些限定。假如但愿以编程方法建设谷歌表格,则必需选择差异的配置。

然后,私有JSON密钥文件就可以下载或自动下载了。提议将该文件重定名为'Medium_Data_Extraction_Key,并将文件移动到JupyterNotebook文件夹中,以便与下面的示例无缝跟尾。JSON文件包括最近建设的处事帐户证书。

很是好,就要乐成了。

下载数据

起首,必需下载并安装其他软件包,在条记本中运行以下呼吁。

!pip install gspread

!pip install oauth2client

其次,假如还没有移动密钥文件的话,必需确保将之前建设的JSON密钥文件移动到今朝运行的木星条记本(Jupyternotebook)文件夹中。可能,可以指定一个差异的GOOGLE_KEY_FILE路径。

  1. from oauth2client.service_account import ServiceAccountCredentials 
  2. import gspread 
  3. import pandas as pd 
  4. scope = [ 
  5.  'https://www.googleapis.com/auth/spreadsheets', 
  6. GOOGLE_KEY_FILE='Medium_Data_Extraction_Key.json' 
  7. credentials = ServiceAccountCredentials.from_json_keyfile_name(GOOGLE_KEY_FILE, scope) 
  8. gc = gspread.authorize(credentials) 
  9. wokbook_key ='10HX66PbcGDvx6QKM8DC9_zCGp1TD_CZhovGUbtu_M6Y' 
  10. workbook = gc.open_by_key(wokbook_key) 
  11. sheet = workbook.get_worksheet(0) 
  12. values = sheet.get_all_values() 
  13. sales_data = pd.DataFrame(values[1:],columns=values[0]) 
  14. WORKBOOK_KEY是为本章内容筹备的谷歌表格的事变簿id。 
  15. WORKBOOK_KEY = '10HX66PbcGDvx6QKM8DC9_zCGp1TD_CZhovGUbtu_M6Y' 

这份事变簿是果真的,假如想下载差异的数据,必要变动WORKBOOK_KEY。URL有题目的话,id凡是可以在谷歌表格的最后两个反斜杠之间找到。

获取CSV数据

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读