• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

R 讀取 Excel 檔案表格資料教學與範例

介紹如何使用 R 語言讀取 Excel 的 xlsx、xls 與 csv 檔案,匯入表格資料。


一般常見的 Excel 檔案有 *.xlsx、*.xls 與 *.csv,以下是在 R 中讀取這些檔案的方法教學。

讀取 XLSX 檔案

若要讀取 Excel 的 *.xlsx 檔案,可以使用 openxlsx 套件,此套件可從官方的 CRAN 套件庫下載安裝:

# 安裝 openxlsx 套件
install.packages("openxlsx")

安裝完成之後,將其載入即可使用:

# 載入 openxlsx 套件
library(openxlsx)

使用 openxlsx 套件的 read.xlsx 讀取 Excel 檔案,工作表的指定可以使用名稱或是數字索引:

# 讀取 Excel 檔案的「工作表1」
df <- read.xlsx("file.xlsx", sheet = "工作表1")

# 讀取 Excel 檔案的第 1 張工作表
df <- read.xlsx("file.xlsx", sheet = 1)

若表格資料中沒有標題列,可以將 colNames 設定為 FALSE:

# 沒有標題列
df <- read.xlsx("file.xlsx", colNames = FALSE)

若將 detectDates 參數設定為 TRUE 的話,讀取資料時會自動偵測資料是否為日期類型的資料,並自動將資料的型態轉為 R 的日期資料:

# 自動偵測並轉換日期資料
df <- read.xlsx("file.xlsx", detectDates = TRUE)

如果只要讀取表格中部分的資料,可以使用 startRow 設定起始的讀取列,或是直接以 rows 與 cols 參數指定讀取範圍:

# 從第 10 列開始讀取資料(跳過前 9 列)
df <- read.xlsx("file.xlsx", startRow = 10)

# 讀取第 5 到 10 行與第 2 到 5 列的資料
df <- read.xlsx("file.xlsx", rows = 5:10, cols = 2:5)

# 讀取第 2, 4, 5 行與第 4, 5 列的資料
df <- read.xlsx("file.xlsx", rows = c(2, 3, 4), cols = c(4, 5))

讀取 XLS 檔案

若要讀取舊版 Excel 的 *.xls 檔案,可以使用 readxl 套件來處理。

readxl 套件同樣可以從官方的 CRAN 套件庫下載與安裝:

# 安裝 readxl 套件
install.packages("readxl")

# 載入 readxl 套件
library(readxl)

以下是使用 readxl 套件讀取 Excel 檔案的範例。

# 讀取 Excel 檔案的「工作表1」
df <- read_excel("file.xls", sheet = "工作表1")

# 讀取 Excel 檔案的第 1 張工作表
df <- read_excel("file.xls", sheet = 1)

# 沒有標題列
df <- read_excel("file.xls", col_names = FALSE)

指定讀取範圍的方式有兩種,一種是以英文表示欄號、數字表示列號的方式:

# 讀取指定範圍資料
read_excel("file.xls", range = "C1:E7")

另一種範圍指定方式是以列號(R)與行號(C)來表示:

# 讀取指定範圍資料(等同於 C1:E7)
read_excel("file.xls", range = "R1C2:R2C5")
readxl 套件可以讀取 XLSX 與 XLS 兩種 Excel 檔案格式,此處的範例也適用於 XLSX 檔案。

讀取 CSV 檔案

R 語言本身就有內建讀取 CSV 檔案的功能,只要使用 read.csv 即可直讀取 *.csv 檔案:

# 讀取 CSV 檔案
df <- read.csv("file.csv")

read.csv 預設會將 CSV 檔案的第一列視為標題列,如果自己的 CSV 檔案的資料沒有包含標題列,可以將 header 參數設定為 FALSE:

# 讀取 CSV 檔案(沒有標題列)
df <- read.csv("file.csv", header = FALSE)

通常 CSV 檔案的欄位分隔符號都是逗號,如果遇到不是以逗號分隔欄位的特殊的 CSV 檔案,可以自行以 sep 參數指定分隔字元:

# 讀取 CSV 檔案(欄位分隔符號為 Tab)
df <- read.csv("file.csv", sep = "\t")

若要指定檔案的編碼,可以使用 fileEncoding 參數:

# 讀取 CSV 檔案(檔案編碼為 UTF-8)
df <- read.csv("file.csv", fileEncoding = "UTF-8")

read.csv 預設會將表格中的文字資料自動轉為 R 的因子(factor),如果想要文字資料維持字元的格式,可以將 stringsAsFactors 參數設定為 FALSE:

# 讀取 CSV 檔案(不要將文字轉為因子)
df <- read.csv("file.csv", stringsAsFactors = FALSE)

分類:Excel, R

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide