Microsoft ExcelやLibreOffice Calcで使用されるxlsxファイルの名前付き範囲(Excelではテーブル含む)はopenxlsx
のread.xlsx
関数で読み込めます。
ファイル名test.xlsx
の名前付き範囲あるいはテーブルTable1
は次のコードで読み込めます。結果はデータフレームです。
#install.packages("openxlsx") require(openxlsx) x <- read.xlsx("test.xlsx", namedRegion="Table1")
read.xlsx
が重複する場合等は名前空間を明示できます。
x <- openxlsx::read.xlsx("test.xlsx", namedRegion="Table1")
Table1
の内容が列名A, B, C
、セル内容が1~9であった場合、次のようになります。
require(openxlsx) x <- read.xlsx("test.xlsx", namedRegion="Table1") class(x) # [1] "data.frame" x # A B C #1 1 4 7 #2 2 5 8 #3 3 6 9
なお、openxlsx
には日付の読み込み問題等があるそうです。名前付き範囲を使わなければreadxl
等も利用できるため、適宜使い分けが必要かと思います。
参考