資料若為string,則會發現皆向左靠齊。資料若為數值,則會向右靠齊。
本例將示範將string資料型態轉換為real。
下圖為csv匯入的樣子,會發現資料都向左靠齊,表示匯入的欄位資料都是文字型的資料型態。
滑鼠點選原匯入的csv檔後,開啟 表格管理員(Table Manager),會發現不論屬性資料是否為數字,Type皆會被認定為string。
此時若不將string型態的屬性資料更改為integer或real等數字型態資料,後續將無法用來做分析或分類。
更改TYPE方式有三種。
a. 直接從excel更改成數值資料型態,再重新匯入QGIS。
使用Add Vector Layer 開啟excel或csv檔(記得encoding使用big5開啟,否則中文部分會呈現亂碼)
按Browse(瀏覽)選取檔案所在位置-->開啟(open)
#我使用的是QGIS 2.6版本,發現此版本超聰明的!它能辨別數字和文字,原本在excel是數字,匯入時也是數字,就不需做資料型態轉換嚕!
若發現資料匯入時的某些欄位資料型態不是你要的,要怎麼更正呢?就用下列方法吧!
b. 手動更改(數值資料少時使用)
b-1. 點選剛匯入的表格(反藍)按右鍵--> 點選屬性表(Open Attritude Table),查看資料是否匯入成功。
b-2. 點選編輯 (一定要按,否則無法更動),再按 (open file calculator)
b-3. 左上角務必輸入新欄位名稱(Output field name)、新欄位資料型態(Output field type)、小數點要呈現幾位(Precision)。
本例新欄位名稱為t1Real。
b-4. 若要將屬性資料設為real,則在expression中輸入toreal(欄位名稱),後按ok。
b-5. 會發現新欄位(t1Real)的資料型態為數值時,欄位數值會靠右。資料型態轉換就成功啦!!!(詳見下圖視窗最右邊)
b-6 存檔 ,就完成資料轉換啦!如果不相信就打開 表格管理員(Table Manager)看看吧!
c. 利用csvt檔案協助更改(數值資料量多時使用)<--當然是用csv匯入資料檔案時使用嚕
c-1. 觀察資料
開啟csv檔案觀看各欄位需要何種資料型態。
本例資料
TaipeiArea(string)、zipcode(string)、t1~t20(real)<--括弧內為所需要的資料型態
c-2. 製作csvt檔
由於本例資料型態為
TaipeiArea(string)、zipcode(string)、t1~t20(real)
因此製作與csv同檔名的csvt副檔名資料
csvt副檔名可利用記事本(.txt)存檔後更改副檔名為(.csvt) 後存檔到與csv同個資料夾中
下圖為csvt的內容
c-3. 開啟QGIS,使用Add Vector Layer 開啟excel或csv檔(記得encoding使用big5開啟,否則中文部分會呈現亂碼)
按Browse(瀏覽)選取檔案所在位置-->開啟(open)
c-4. 開啟 表格管理員(Table Manager)就會發現資料轉換成功嚕!
如果本篇文章有幫忙到你~ 希望你能幫我留言加油打氣!
當然,本篇QGIS教學不是最完美的~!歡迎一起討論喔!
留言列表