CSVファイルやExcelファイルをRで読み書きしてみる
こんにちは。PythonでCSVファイルやExcelのファイルの読み書きを前回・前々回に取り上げました。
Rでもデータを扱っていたので、今度はRでCSVやExcelのファイルを読み書きしてみます。
CSVファイルをRで読み込む
読み込むCSVファイルは前々回と同じファイルですが、一応載せておきます。
CSVファイルのファイル名をtemp.csvとし、文字コードがUTF-8で保存されているとします。
年月日時,気温(℃)
2018/7/23 1:00,30.6
2018/7/23 2:00,29.5
2018/7/23 3:00,29.2
2018/7/23 4:00,28.9
2018/7/23 5:00,28.2
2018/7/23 6:00,28.6
2018/7/23 7:00,29.9
2018/7/23 8:00,33
2018/7/23 9:00,34
2018/7/23 10:00,36
2018/7/23 11:00,37.9
2018/7/23 12:00,38.7
2018/7/23 13:00,39.8
2018/7/23 14:00,40
2018/7/23 15:00,39.3
2018/7/23 16:00,39
2018/7/23 17:00,37.9
2018/7/23 18:00,35.9
2018/7/23 19:00,34.2
2018/7/23 20:00,32.6
2018/7/23 21:00,31.9
2018/7/23 22:00,31.6
2018/7/23 23:00,28.8
2018/7/24 0:00,27.9
それでは、Rで読み込んでみます。
df <- read.csv("temp.csv")
実行結果です。
年月日時 気温...
1 2018/7/23 1:00 30.6
2 2018/7/23 2:00 29.5
3 2018/7/23 3:00 29.2
4 2018/7/23 4:00 28.9
5 2018/7/23 5:00 28.2
6 2018/7/23 6:00 28.6
7 2018/7/23 7:00 29.9
8 2018/7/23 8:00 33.0
9 2018/7/23 9:00 34.0
10 2018/7/23 10:00 36.0
11 2018/7/23 11:00 37.9
12 2018/7/23 12:00 38.7
13 2018/7/23 13:00 39.8
14 2018/7/23 14:00 40.0
15 2018/7/23 15:00 39.3
16 2018/7/23 16:00 39.0
17 2018/7/23 17:00 37.9
18 2018/7/23 18:00 35.9
19 2018/7/23 19:00 34.2
20 2018/7/23 20:00 32.6
21 2018/7/23 21:00 31.9
22 2018/7/23 22:00 31.6
23 2018/7/23 23:00 28.8
24 2018/7/24 0:00 27.9
CSVファイルの文字コードがShift-JISの場合は、次のようにします。
df <- read.csv(file("temp.csv",encoding="cp932"))
CSVファイルに書き出してみる
次は,CSVファイルに書き出します。
write.csv(df,"temp2.csv",fileEncoding="cp932",row.names=F)
文字コードをShift-JISで保存するために、fileEncoding="cp932″としています。
これを省略すると、UTF-8で書き出されます。
また、row.names=Fとありますが,これを省略すると行番号が付いてしまいます。
Excelファイルを読み込んでみる
次にExcelファイルから読み込んでみます。
データは前回と同じ埼玉県内のAED設置場所情報を使います。
install.packages("openxlsx")
library(openxlsx)
df <- read.xlsx("aedh3103.xlsx")
head(df)
先頭の数レコード分のデータを見た結果です。
団体コード 団体名 設置場所_名称 設置場所_名称_カナ
1 110001 埼玉県 埼玉県立浦和第一女子高等学校 NA
2 110001 埼玉県 埼玉会館 NA
3 110001 埼玉県 地方職員共済組合埼玉診療所 NA
4 110001 埼玉県 地方職員共済組合埼玉診療所 NA
5 110001 埼玉県 埼玉県庁 NA
6 110001 埼玉県 埼玉県庁 NA
設置場所_住所 設置場所_電話番号 設置場所_緯度 設置場所_経度
1 埼玉県さいたま市浦和区岸町3-8-45 NA 35.85272 139.6584
2 埼玉県さいたま市浦和区高砂3-1-4 NA 35.85750 139.6520
3 埼玉県さいたま市浦和区高砂3-14-21 NA 35.85838 139.6476
4 埼玉県さいたま市浦和区高砂3-14-21 NA 35.85830 139.6476
5 埼玉県さいたま市浦和区高砂3-15-1 NA 35.85700 139.6491
6 埼玉県さいたま市浦和区高砂3-15-1 NA 35.85871 139.6488
設置場所_詳細 情報源(ソース) 利用可能時間 利用可能日 開始時間 終了時間 日時備考
1 事務室入口横 NA NA NA NA NA NA
2 会館管理棟入口警備員室 NA NA NA NA NA NA
3 内科診療室 NA NA NA NA NA NA
4 地方職員共済組合埼玉診療所内科 NA NA NA NA NA NA
5 本庁舎1階 南玄関 NA NA NA NA NA NA
6 第2庁舎 1階北側玄関 NA NA NA NA NA NA
小児用パッドの有無 AED画像_画像 AED画像_ライセンス AED画像_画像テキスト
1 NA NA NA NA
2 NA NA NA NA
3 NA NA NA NA
4 NA NA NA NA
5 NA NA NA NA
6 NA NA NA NA
Excelファイルに書き出してみる
変数dfに記憶しているデータフレームを、newFile.xlsxというファイル名で書きだします。
write.xlsx( df, file = "newFile.xlsx" )
これで、現在の作業ディレクトリに書き出されています。
現在の作業ディレクトリがわからなければ、getwd()により調べることができます。
今回はこれでおしまいにします。それではまた。
ディスカッション
コメント一覧
まだ、コメントがありません