重いCSVファイルを扱うのに困ったので備忘録
各300MB程度の10個のcsvファイルからデータを抽出する必要があるが、当然excelでは太刀打ちできない。 mysqlに読み込もうとしたが、手元のデータは文字コードがDOS?でmysqlへの読み込み時にエラーが起きる。UTF-8に変換したいのだが、cotEditorで開いても重すぎて文字コードの変換も一苦労する状態。
コマンドラインで変換できないか調べてみた結果、ターミナルでnfkコマンドを試してみることにした。
まずはhomebrewでnkfコマンドをインストール
次にバージョンチェック
$ nkf --version
※以下引用(http://kawatama.net/others/mac/1754)
nkfコマンドの書式
$ nkf [options] [file]
【nkfコマンドの主なオプション】
-u 出力時にバッファリングを行わない
-j JISコードに変換する
-e EUCコードに変換する
-s シフトJISコードに変換する
-w UTF8コードに変換する
-r ROT13/47の変換する
-T テキスト・モードで出力する
file 変換元のファイルを指定する
-g 文字コード自動判別の結果を表示
–overwrite 引数のファイルに直接上書き
※以上引用。
とのことなので、これを使って変換。
$ nkf -e `ファイル名`.csv > `変換先ファイル名`.csv
もちろんoverwriteでも可。