python 筆記02 - google sheet應(yīng)用

背景說明

因為項目中需要用到google sheet進行協(xié)同開發(fā),我們客戶端開發(fā)人員從goole sheet上面復(fù)制需要用到的數(shù)據(jù)景图,然后再手動黏貼到工程文件中蚯舱,因為工程文件有多個随常,而且每次版本迭代都需要進行相同的操作,很浪費人力盏阶。最近學(xué)了下python怜瞒,就想著怎么能夠使用腳本去解決問題,努力了一番,所以就有了這篇簡單的分享文章吴汪。

思路

想要實現(xiàn)腳本自動化惠窄,我們就需要能自動完成兩步:1. 自動從google sheet上去獲取目標(biāo)數(shù)據(jù) 2. 獲取到目標(biāo)數(shù)據(jù)后,自動寫入目標(biāo)文件漾橙。

1. 從google sheet上獲取目標(biāo)數(shù)據(jù)

google sheet本質(zhì)上也是一個網(wǎng)站杆融,所以一開始我想著是不是可以才去爬蟲的方式進行處理,然而看了下網(wǎng)站源碼霜运,簡直一臉蒙蔽脾歇,要從這上面直接爬取目標(biāo)數(shù)據(jù),對于還沒有python入門的我來說淘捡,難度有點大藕各,所以果斷放棄了。然后就在google上搜索焦除,人海茫茫激况,總是有志同道合的人在,終于發(fā)現(xiàn)原來google sheet早已經(jīng)開放了接口膘魄,供我們?nèi)フ{(diào)用乌逐。相關(guān)鏈接:google sheet 指南〈雌希看了下指南浙踢,我開始動手了~

step1

配置python運行環(huán)境,安裝python包管理工具pip灿渴,并安裝腳本所需要的庫洛波,安裝庫的命令如下:

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

step 2

因為要使用到google sheet的api,所以我們需要一個google賬號來申請權(quán)限骚露,并生成相應(yīng)的配置文件奋岁,相關(guān)操作在上文的指南鏈接上面都有進行說明:

image.png

打開上文的鏈接,然后點擊藍色的“ENABLE THE GOOGLE SHEETS API” 按鈕荸百,會首先要求你登陸自己的google賬號闻伶,登陸完成后,下載configuration.json到腳本工程目錄中够话。

step 3

進行了前期的準(zhǔn)備工作蓝翰,我們就可以開始直接拍代碼了~

  1. 驗證權(quán)限,代碼如下所示
def check_auth():
    creds = None
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)

    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token: 
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPE)
            creds = flow.run_local_server()
            

            with open('token.pickle', 'wb') as token:
                pickle.dump(creds, token)

    return creds
  1. 創(chuàng)建sheet對象讀取數(shù)據(jù)
    service = build('sheets', 'v4', credentials=creds)
    
    setting = Settings()
    spreadsheets_id = setting.SAMPLE_SPREADSHEET_ID
    content_range = setting.SAMPLE_RANGE_NAME

    sheet = service.spreadsheets()
    result = sheet.values().get(spreadsheetId=spreadsheets_id, range=content_range).execute()
    values = result.get('values',[])

其中需要特別說明下兩個參數(shù):

一個是spreadsheetId女嘲,這個是google sheet網(wǎng)址上的一個ID畜份,網(wǎng)址的結(jié)構(gòu)類似這樣子:https://docs.google.com/spreadsheets/d/spreadsheetId/edit?ts=#gid=,我們可以直接從網(wǎng)址上去獲取到這個spreadsheetId欣尼。

另外一個參數(shù)range爆雹,它的結(jié)構(gòu)類似這樣子表名!B2:G4停蕉,它是用來獲取數(shù)據(jù)的詳細位置,第一個部分代表你要讀取數(shù)據(jù)的表钙态, B2:G4慧起,代表B2 到 G4這個矩形中包含的數(shù)據(jù):

B2 B3 B4
.. .. ..
G2 G3 G4

2. 寫數(shù)據(jù)到目標(biāo)文件

讀取到我們自己想要的數(shù)據(jù)后,就可以直接寫入到目標(biāo)文件中了:

    with open(file_path, 'a', encoding="utf-8") as file_object:
            file_object.write(string)

Done册倒!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚓挤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子驻子,更是在濱河造成了極大的恐慌灿意,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崇呵,死亡現(xiàn)場離奇詭異缤剧,居然都是意外死亡,警方通過查閱死者的電腦和手機域慷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門荒辕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芒粹,你說我怎么就攤上這事〈罅铮” “怎么了化漆?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钦奋。 經(jīng)常有香客問我座云,道長,這世上最難降的妖魔是什么付材? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任朦拖,我火速辦了婚禮,結(jié)果婚禮上厌衔,老公的妹妹穿的比我還像新娘璧帝。我一直安慰自己,他們只是感情好富寿,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布睬隶。 她就那樣靜靜地躺著,像睡著了一般页徐。 火紅的嫁衣襯著肌膚如雪苏潜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天变勇,我揣著相機與錄音恤左,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛飞袋,可吹牛的內(nèi)容都是我干的戳气。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼授嘀,長吁一口氣:“原來是場噩夢啊……” “哼物咳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹄皱,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤览闰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后巷折,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體压鉴,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年锻拘,在試婚紗的時候發(fā)現(xiàn)自己被綠了油吭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡署拟,死狀恐怖婉宰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情推穷,我是刑警寧澤心包,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站馒铃,受9級特大地震影響蟹腾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜区宇,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一娃殖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧议谷,春花似錦炉爆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至禀崖,卻和暖如春衩辟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背波附。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工艺晴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昼钻,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓封寞,卻偏偏與公主長得像然评,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狈究,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 第一部分 創(chuàng)建爬蟲 重點介紹網(wǎng)絡(luò)數(shù)據(jù)采集的基本原理 : 如何用 Python 從網(wǎng)絡(luò)服務(wù)器 請求信息碗淌,如何對服務(wù)器...
    萬事皆成閱讀 2,046評論 0 5
  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的,另外根據(jù)自己平時的積累進行修正...
    renyangfar閱讀 3,025評論 0 10
  • 常用庫: fuzzywuzzy,字符串模糊匹配抖锥。 esmre,正則表達式的加速器亿眠。 Chardet字符編碼探測器,...
    AlastairYuan閱讀 2,275評論 0 43
  • 前言 Python的創(chuàng)始人為Guido van Rossum磅废。1989年圣誕節(jié)期間纳像,在阿姆斯特丹,Guido為了打...
    依依玖玥閱讀 3,565評論 6 37
  • python 也是很值得學(xué)習(xí)的一門工具拯勉。學(xué)好python和R竟趾。 1環(huán)境管理 管理 Python 版本和環(huán)境的工具 ...
    Liam_ml閱讀 4,812評論 1 51