具體還得看你的實際需求了。
我先簡單給你說一個方法:資料分析必備技能——用Python讀寫Excel表格。
python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。下面分別記錄python讀和寫excel。
Python寫excel——xlwt
Python寫excel的難點不在構造一個workbook的本身,而是填充的資料,不過這不在範圍內。在寫excel的操作中也有棘手的問題,比如寫入合併的單元格就是比較麻煩的,另外寫入還有不同的樣式。
詳細程式碼如下:
結果圖:
在此,對write_merge()的用法稍作解釋,如上述:sheet1.write_merge(1,2,3,3,"打遊戲"),即在四列合併第2,3列,合併後的單元格內容為"合計",並設定了style。其中,裡面所有的引數都是以0開始計算的。
Python讀excel——xlrd
Python讀取Excel表格,相比xlwt來說,xlrd提供的介面比較多,但過程也有幾個比較麻煩的問題,比如讀取日期、讀合併單元格內容。
下面先看看基本的操作:
圖表資料
整體思路為,開啟檔案,選定表格,讀取行列內容,讀取表格內資料
執行結果如下:
那麼問題來了,上面的執行結果中紅框框中的欄位明明是出生日期,可顯示的確實浮點數;同時合併單元格里面應該是有內容的,結果不能為空。
別急,我們來一一解決這兩個問題:
1.python讀取excel中單元格內容為日期的方式
python讀取excel中單元格的內容返回的有5種類型,即上面例子中的ctype:
ctype : 0 empty,1 string,2 number, 3 date,4 boolean,5 error
即date的ctype=3,這時需要使用xlrd的xldate_as_tuple來處理為date格式,先判斷表格的ctype=3時xldate才能開始操作。
2.獲取合併單元格的內容
在操作之前,先介紹一下merged_cells()用法,merged_cells返回的這四個引數的含義是:(row,row_range,col,col_range),其中[row,row_range)包括row,不包括row_range,col也是一樣,即(1, 3, 4, 5)的含義是:第1到2行(不包括3)合併,(7, 8, 2, 5)的含義是:第2到4列合併。
發現規律了沒?是的,獲取merge_cells返回的row和col低位的索引即可! 於是可以這樣批次獲取:
執行結果跟上圖一樣,如下:
Python讀寫Excel表格,就是這麼簡單粗暴又好用,如果覺得不錯,對你工作中有幫助,動動手指分享給更多人哦
具體還得看你的實際需求了。
我先簡單給你說一個方法:資料分析必備技能——用Python讀寫Excel表格。
python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。下面分別記錄python讀和寫excel。
Python寫excel——xlwt
Python寫excel的難點不在構造一個workbook的本身,而是填充的資料,不過這不在範圍內。在寫excel的操作中也有棘手的問題,比如寫入合併的單元格就是比較麻煩的,另外寫入還有不同的樣式。
詳細程式碼如下:
結果圖:
在此,對write_merge()的用法稍作解釋,如上述:sheet1.write_merge(1,2,3,3,"打遊戲"),即在四列合併第2,3列,合併後的單元格內容為"合計",並設定了style。其中,裡面所有的引數都是以0開始計算的。
Python讀excel——xlrd
Python讀取Excel表格,相比xlwt來說,xlrd提供的介面比較多,但過程也有幾個比較麻煩的問題,比如讀取日期、讀合併單元格內容。
下面先看看基本的操作:
圖表資料
整體思路為,開啟檔案,選定表格,讀取行列內容,讀取表格內資料
詳細程式碼如下:
執行結果如下:
那麼問題來了,上面的執行結果中紅框框中的欄位明明是出生日期,可顯示的確實浮點數;同時合併單元格里面應該是有內容的,結果不能為空。
別急,我們來一一解決這兩個問題:
1.python讀取excel中單元格內容為日期的方式
python讀取excel中單元格的內容返回的有5種類型,即上面例子中的ctype:
ctype : 0 empty,1 string,2 number, 3 date,4 boolean,5 error
即date的ctype=3,這時需要使用xlrd的xldate_as_tuple來處理為date格式,先判斷表格的ctype=3時xldate才能開始操作。
詳細程式碼如下:
2.獲取合併單元格的內容
在操作之前,先介紹一下merged_cells()用法,merged_cells返回的這四個引數的含義是:(row,row_range,col,col_range),其中[row,row_range)包括row,不包括row_range,col也是一樣,即(1, 3, 4, 5)的含義是:第1到2行(不包括3)合併,(7, 8, 2, 5)的含義是:第2到4列合併。
詳細程式碼如下:
發現規律了沒?是的,獲取merge_cells返回的row和col低位的索引即可! 於是可以這樣批次獲取:
詳細程式碼如下:
執行結果跟上圖一樣,如下:
Python讀寫Excel表格,就是這麼簡單粗暴又好用,如果覺得不錯,對你工作中有幫助,動動手指分享給更多人哦