顯示具有 Excel 標籤的文章。 顯示所有文章
顯示具有 Excel 標籤的文章。 顯示所有文章

2020年10月15日 星期四

Python學習筆記-Google Colab讀取本機excel、csv檔案

Google Colab讀取本機excel、csv檔案

Google Colab可以很方便在線上編譯Python程式, 但很多時候,程式要從本機呼叫檔案, 這時候就有點麻煩了。

以下是google到的方式,可以很方便的呼叫本機的excel或csv檔案。

備註:csv檔案記得要將編碼改為「utf-8」存檔,免得執行時出錯。

In [1]:
from google.colab import files
# 上傳csv檔案
uploaded = files.upload()
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving 1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.csv to 1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.csv
In [2]:
import io
import pandas as pd
df1 = pd.read_csv(io.BytesIO(uploaded['1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.csv']))
print(len(df1))
df1.head()
110
Out[2]:
年度行業別經常性薪資-薪資經常性薪資-女/男專業人員-薪資專業人員-女/男技術員及助理專業人員-薪資技術員及助理專業人員-女/男事務支援人員-薪資事務支援人員-女/男服務及銷售工作人員-薪資服務及銷售工作人員-女/男技藝_機械設備操作及組裝人員-薪資技藝_機械設備操作及組裝人員-女/男基層技術工及勞力工-薪資基層技術工及勞力工-女/男
02019工業及服務業2823199.213506599.212981299.212717099.482642899.492679498.62437299.29
12019工業2817799.0035234992959398.892717999.332696299.362637998.52423099.25
22019礦業及土石採取業2704097.293576398.812910597.5525337100.182504799.642891193.912361497.95
32019石油及天然氣礦業29542100.0038423100279441002794410027944100
42019砂、石採取及其他礦業2620695.873044499.673026796.2624726100.472458999.972926992.192361497.95
In [3]:
# 上傳excel檔案
uploaded = files.upload()
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving 1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.xlsx to 1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.xlsx
In [4]:
df2 = pd.read_excel(io.BytesIO(uploaded['1091015_108年各職類別初任人員每人每月經常性薪資-按行業別分.xlsx']))
print(len(df2))
df2.head()
110
Out[4]:
年度行業別經常性薪資-薪資經常性薪資-女/男專業人員-薪資專業人員-女/男技術員及助理專業人員-薪資技術員及助理專業人員-女/男事務支援人員-薪資事務支援人員-女/男服務及銷售工作人員-薪資服務及銷售工作人員-女/男技藝_機械設備操作及組裝人員-薪資技藝_機械設備操作及組裝人員-女/男基層技術工及勞力工-薪資基層技術工及勞力工-女/男
02019工業及服務業2823199.213506599.212981299.212717099.482642899.492679498.62437299.29
12019工業2817799.0035234992959398.892717999.332696299.362637998.52423099.25
22019礦業及土石採取業2704097.293576398.812910597.5525337100.182504799.642891193.912361497.95
32019石油及天然氣礦業29542100.0038423100279441002794410027944100
42019砂、石採取及其他礦業2620695.873044499.673026796.2624726100.472458999.972926992.192361497.95

2018年11月29日 星期四

Excel LEN, SUBTITUTE及SUMIF 函數計算教室使用率

Excel 應用函數計算教室使用率範例實作:

原始資料如下:



資料是以學年、學期及課號為主的排課方式呈現。

整理資料的想法是先將每門課程在星期一至星期日的每一天排了多少節。


接下來星期一至星期日的節數應該如何計算呢?
計算的想法是把「,」移除後計算字元的長度就是排課的節數。

以課號H9儲存格「SUU121」這個課來說,排課是在星期一的「2,3,4」
目標是變成「234」後計算字元的長度,得知星期一排了3節課。

P9儲存格的公式為:=LEN(SUBSTITUTE(H9,",",""))
先用SUBTITUTE函數將儲存格H9中的「,」移除掉,然後在前面加入LEN函數計數字元後,等於3,由此可知「SUU121」這個課程在星期一排了3節課。



將排課教室儲存格套入公式,將星期一至星期日的節數合計後的結果如下:

一間教室可能排到好幾門課,接下來是把教室的資料整理成「惟一」後,才能加總統計。

把教室這欄複製到新的工作表,移除重複教室。

然後將教室資料貼回原來的資料表,欄位名稱取名為「惟一教室」。

接下來就要用SUMIF函數來整理106-1和106-2的排課資料了。
首先要找的是工作表1中106學年度第1學期上課教室的儲存格O2-O1379,選完儲存格後按F4,定義就是這邊的儲存格。

工作表中的A2,則是要符合的教室。

找到符合的教室後要將W2-W1379中的合計排課節給加總起來。

公式如下:

=SUMIF(工作表1!$O$2:$O$1379,工作表2!A2,工作表1!$W$2:$W$1379)

106-1和106-2都完成後,就可以得到106-1和106-2的排課節數。

假設一週排課45節為100%,將排課節數除以45節,即可得到教室的使用率。

【公告】網站遷移,未來內容將發表於新網站!!

 受限於blogger本身架構與限制,本網站所有內容已遷移至新網站,網址如下: https://kuo.us.to/wordpress/