3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
我們在撰寫python時,很常是要花費好幾天的時間去撰寫,也需要分成好幾部份去抓取不同資料,或是利用不同公式去整理資料,如果我們撰寫過程中或是以後需要用到相同公式時,我們沒將公式存取起來就需要重新再寫一次,這樣相當的花費時間 所以陳陳今天就來教大家如何將寫好的公式變成自訂的函式,我們就是要用到def   【如何撰寫python函式】 其實要定義函式相當的簡單,公式如下 def 函式名稱(參數):        程式碼          return(要回傳的答案) 1. 宣告 : 我們會利用def來為我們的function定義一個名稱,也能在掛號內設定參數 2. 程式碼內容 : 這裡就是將我們先前一段一段寫好的程式碼全部複製到這裡來 3. return : 這裡的掛號內要輸入我們未來在import函式時所要得到的答案 我們就用實例來說明吧!!   【實例示範】 今天我拿一份台指期某段時間的每筆交易資料來示範 我的目的是要將資料整理一下,以方便未來要使用該資料時能直接import這個函式就好 首先我們在寫程式時一定都是先一段一段的撰寫,那今天陳陳也一段一段的撰寫給大家看 一開始我要先將csv檔資料打開來看一下需要怎修改 1    data = open("TXFL8-I020.csv").readlines() 2    data 所以我們利用open將檔案名為TXFL8-I020.csv開啟來,並利用readlines將資料一行一行讀取出來 現在我們的字串是一大串,我們必須將每一筆資料也就是每一行變成單獨的串列,就是'20181122,084500002000,TXFL8,9766,510,128,510,111,186\n',分別代表日期、時間、期貨名稱、成交價等等,並將裡面的各個代表變成一個字串 3    data0 = [line.strip("\n").split(",") for line in data] 4    data0 我們利用for迴圈將資料一段一段作整理,並利用strip將"\n"刪除,再利用split將有","的部分隔開,就會形成以下的字串 這樣我們未來想抓取某部分的資料就輕易抓取,像是我們只要交易日期,那我們就能用i[0]加上for迴圈來抓取,這我們後面會示範 到這裡我們的資料其實已經大概整理好了,剩下的就是你需要甚麼的功能,像是我們上面提到的,我們能抓我們資料內只有日期的部分 3    date = [i[0] for i in data0] 4    sorted(set(date)) 這裡我們利用for迴圈抓取每串列的第0項資料,也就是我們交易日期的部分 但因為式逐筆交易,所以每天會有很多重複的日期,所以我們利用sorted抓取不重複的日期,並利用set做順序的排列 有人會問單獨抓取日期要幹嘛? 單獨抓取日期的話如果未來要畫成圖時就會用的到,但現在可能沒想到,其實函式也能等你需要用到時,並且你覺得未來會不斷重複用到時再來定義也行 接下來就是進入我們最重要也是最後的環節了,那就是定義並儲存函式 我們就將我們上方所整理的資料來定義 其實就很簡單 第一行就式def一個名稱,並將程式碼複製貼上,最後再return我們要的最終答案,這樣就大功告成了 接下來就是將定義的函式儲存起來,好讓我們未來能方便使用 我們首先就是將檔案名稱改成英文名稱,這樣import才能用 陳陳就將名稱定義為getfuture_function 接下來就是按下File → Dowload as → 要存成Python(.py)檔 並將存好的py檔放到我們python工作底稿區,這樣我們就能import了 接下來你能再開啟一個新的jupyter notebook後import我們的py檔,這樣就能使用裡面我們定義好的def了     相關文章 ----------------------------------------------------------------------------------- 【python】抓取上市歷年最高價 【python】如何安裝Anaconda3(Jupyter Notebook) 【python】如何利用python輕鬆抓取上市櫃股票清單        

本文由adsads023023pixnetnetblog提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦