エクセルで受け取ったデータをmergeする
データの突合はRで。Excelあんま好きちゃうし。
mergeする。ついでに、xlsxをそのままdataframeに読み込んでしまう。
- xlsx packageを使ってみる。
- xlsxで行数の多いデータを読むと時間がかかるのが微妙。
- 日本語入れていると化けるので、encodingをちゃんと指定。
- 出力はcsvで充分。write.csv関数を使用。
library(xlsx) hoge <- read.xlsx("hoge.xlsx", 1, encoding="UTF-8") foo <- read.xlsx("foo.xlsx", 1, encoding="UTF-8") huga <- merge(hoge, foo, by="ID") write.csv(huga, "huga.csv", quote=FALSE, row.names=FALSE) #quote=FALSEにしておかないと各要素が""で囲まれる #row.names=FALSEにしておかないと行番号が1列目のデータになってしまう
単なる忘備録と化した。
2018.4.16.追記
- xlsx packageよりもreadxlが速い。断然速い。すこぶる速い。
library(readxl) hoge <- read_excel("hoge.xlsx") foo <- read_excel("foo.xlsx") huga <- merge(hoge, foo, by="ID") write.csv(huga, "huga.csv", quote=FALSE, row.names=FALSE)
日本語は特に何も指定しなかったですが、Win環境では化けませんでした。