成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼詳解:使用Python從不同表格中提取數據

開發 后端 數據庫
常用的表格數據存儲文件格式——CSV,Microsoft Excel,GoogleExcel。Python通常稱為粘合語言。這個名稱歸因于人們逐漸開發出的大量接口庫和特征,也得益于廣泛的使用和良好的開源社區。

常用的表格數據存儲文件格式——CSV,Microsoft Excel,Google Excel 。

[[278156]]

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數據

可以從repo以傳統方式下載CSV數據,也可以使用以下代碼片段進行下載。同樣地,可能需要在筆記本上安裝并運行缺失的請求包:

  1. !pip install requests 
  2. import requests 
  3. url ='https://raw.githubusercontent.com/FBosler/Medium-Data-Extraction/master/sales_team.csv' 
  4. res = requests.get(url, allow_redirects=True
  5. withopen('sales_team.csv','wb') asfile: 
  6.  file.write(res.content) 
  7. sales_team = pd.read_csv('sales_team.csv'

CSV數據的美妙之處在于Python /panda可以立即進行處理。Excel則需要額外的庫。 

獲取Excel數據

在開始之前,很可能還要安裝openpyxl和xlrd,這能讓Pandas也可以打開Excel表。

!pip install openpyxl

!pip install xlrd

完成這些步驟之后,可以相同的方式獲得Excel數據,并將其加載到另一個DataFrame中。

  1. url ='https://github.com/FBosler/Medium-Data-Extraction/blob/master/invoices.xlsx?raw=true' 
  2. res = requests.get(url, allow_redirects=True
  3. withopen('invoices.xlsx','wb') asfile: 
  4.  file.write(res.content) 
  5. invoices = pd.read_excel('invoices.xlsx'

大功告成!已經創建了三個不同的Pandas數據幀,并且可以在同一個Jupyter notebook中進行訪問:

  • sales_data
  • sales_team
  • invoices

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2023-11-15 13:04:30

Python提取表格

2020-07-08 07:54:03

PythonPDF數據

2021-12-17 12:12:22

Python 開發數據

2025-02-17 12:00:00

PythonOpenCV提取圖像

2019-10-09 15:51:45

Python 開發編程語言

2021-11-18 10:20:22

代碼PDFPython

2018-04-20 08:37:23

災難恢復數據備份

2022-11-23 10:31:54

2014-07-16 17:35:03

Android表單模型

2016-01-26 11:08:54

2015-03-04 14:12:58

數據庫mysql工作量

2020-07-08 15:43:26

數據機器學習提取

2021-05-13 23:54:12

DockerDockerfile鏡像

2019-09-04 11:09:38

物聯網數據邊緣

2013-04-01 11:14:56

IT大數據網絡信息化

2021-03-15 21:50:22

Linux提取文本GUI工具

2023-11-29 11:30:17

PDF語言模型

2022-01-05 18:18:01

Flink 數倉連接器

2019-02-01 14:45:41

前端

2020-07-03 14:44:44

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产亚洲 | 精品亚洲一区二区三区 | 亚洲精品乱码久久久久久蜜桃91 | 久久精品播放 | 黄a在线观看 | 久久久久久久久久久国产 | 九色在线观看 | 国产精品久久久久久久午夜片 | 粉嫩av| 97色在线观看免费视频 | 国产一区二区在线视频 | 91av精品 | 亚洲综合小视频 | 亚洲午夜精品久久久久久app | 久久久成人一区二区免费影院 | 一级毛片高清 | 精品真实国产乱文在线 | 色伊人网 | 伊人伊人伊人 | 这里精品 | 亚州一区二区三区 | 精品一区二区三区在线观看国产 | 免费一级黄色录像 | 日韩视频中文字幕 | 国产一区影院 | 亚洲一区精品在线 | 欧美三级电影在线播放 | 精品一区二区三区av | 成人在线一级片 | v片网站 | 亚洲一区二区三区在线视频 | 国产精品国产三级国产aⅴ无密码 | 91免费在线 | 亚洲国产精品一区二区第一页 | 日韩在线免费视频 | 草久久久 | 亚洲成人精 | 影音先锋亚洲资源 | 久草免费在线视频 | 欧美日韩精品久久久免费观看 | 欧美午夜在线 |