close

資料若為string,則會發現皆向左靠齊。資料若為數值,則會向右靠齊。

本例將示範將string資料型態轉換為real。

 

下圖為csv匯入的樣子,會發現資料都向左靠齊,表示匯入的欄位資料都是文字型的資料型態。

4  

滑鼠點選原匯入的csv檔後,開啟tablemanager 表格管理員(Table Manager),會發現不論屬性資料是否為數字,Type皆會被認定為string。

此時若不將string型態的屬性資料更改為integer或real等數字型態資料,後續將無法用來做分析或分類

6  

 

 

更改TYPE方式有三種。

    a. 直接從excel更改成數值資料型態,再重新匯入QGIS

使用Add Vector LayeropenVecter  開啟excel或csv檔(記得encoding使用big5開啟,否則中文部分會呈現亂碼)

 

 

按Browse(瀏覽)選取檔案所在位置-->開啟(open)

2  

  

#我使用的是QGIS 2.6版本,發現此版本超聰明的!它能辨別數字和文字,原本在excel是數字,匯入時也是數字,就不需做資料型態轉換嚕!

 

 

若發現資料匯入時的某些欄位資料型態不是你要的,要怎麼更正呢?就用下列方法吧!

 

 

    b. 手動更改(數值資料少時使用)

 

 

b-1. 點選剛匯入的表格(反藍)按右鍵--> 點選屬性表(Open Attritude Table),查看資料是否匯入成功。

3

 

      b-2. 點選編輯edit(pen)  (一定要按,否則無法更動),再按caauter  (open file calculator)  

4  

 

      b-3. 左上角務必輸入新欄位名稱(Output field name)、新欄位資料型態(Output field type)、小數點要呈現幾位(Precision)

本例新欄位名稱為t1Real。

10  

 

      b-4. 若要將屬性資料設為real,則在expression中輸入toreal(欄位名稱),後按ok

 9  

 

     b-5. 會發現新欄位(t1Real)的資料型態為數值時,欄位數值會靠右。資料型態轉換就成功啦!!!(詳見下圖視窗最右邊)

11  

 

   b-6 存檔SaveEdits  ,就完成資料轉換啦!如果不相信就打開tablemanager 表格管理員(Table Manager)看看吧!

 

 

      c. 利用csvt檔案協助更改(數值資料量多時使用)<--當然是用csv匯入資料檔案時使用嚕

 

c-1. 觀察資料

開啟csv檔案觀看各欄位需要何種資料型態。

本例資料

TaipeiArea(string)、zipcode(string)、t1~t20(real)<--括弧內為所需要的資料型態

csv  

 

c-2. 製作csvt檔

 由於本例資料型態為

TaipeiArea(string)、zipcode(string)、t1~t20(real)

 

因此製作與csv同檔名的csvt副檔名資料

csvtsave  

 

csvt副檔名可利用記事本(.txt)存檔後更改副檔名為(.csvt) 後存檔到與csv同個資料夾中

 

下圖為csvt的內容

csvtTxt  

c-3. 開啟QGIS,使用Add Vector LayeropenVecter  開啟excel或csv檔(記得encoding使用big5開啟,否則中文部分會呈現亂碼)

 

 

按Browse(瀏覽)選取檔案所在位置-->開啟(open)

2  

  

c-4. 開啟tablemanager 表格管理員(Table Manager)就會發現資料轉換成功嚕! 

 

 csvtManager  

 

 

 

 

如果本篇文章有幫忙到你~ 希望你能幫我留言加油打氣!
當然,本篇QGIS教學不是最完美的~!歡迎一起討論喔!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 janetlien 的頭像
    janetlien

    janetlien的部落格

    janetlien 發表在 痞客邦 留言(3) 人氣()