【R備忘】既存のテキストファイルの文字コードをUTF8からShift-JISに変換する関数
備忘。たぶんすごい基礎的なことだと思うんだけど、あんまり日本語情報がない気がしたんで。
まぁテキストエディタで文字コード変更して保存しなおせばええやん、って話ではあるんだが、Rだけでなるべく処理は完結したい。
以下みたいな関数をつくっておくとよい。
utf_to_sjis <- function( dir_chr , file_chr ){ old_path <- paste0( dir_chr , file_chr) #旧ファイル名を取得する new_path <- gsub( ".txt","_s.txt",old_path) #新しいファイル名をつくる cont_utf <- readLines( old_path, encoding = "UTF8") #UTF-8でファイル内容を f_link <- file( new_path, encoding="SJIS") #ファイルリンクをSJISで作成 write( cont_utf , file=f_link) #新ファイルに内容を書き込む close(f_link) #connectionをclose file.remove( old_path) #旧ファイルをdelete file.rename( from = new_path , to = old_path) #新ファイルを旧ファイル名に替える } #dir #実行例 utf_to_sjis( "./Document/", "test1.txt")
参考にしたURLは以下。
- R: 文字コードを指定してのファイル出力 - Research and Study Notes of Rabbi Zakki
- r - RMeCabでUTF-8で書かれたファイルを扱う方法 - スタック・オーバーフロー
yonige -アボカド-【Official Video】
Enjoy!!