Rubyの改行コード[CR+LF]と[LF]
簡単なツール作るつもりが、はまってしまった。
忘れそうなので、解決策を残しておく。
やろうとしたのは、Excelデータの一覧表をちょっとフォーマット変えてMySQLのテーブルにロードするということ。
そのために、ExcelデータをCSV形式で保存して(ここまでは手動)、それをRuby使って読込んでMySQL上のテーブルレイアウトと同様のCSVファイルを書き出すプログラムをRubyで作成した。
数分でPGは完了したが、MySQLへのLOAD時にエラーとなっていた。
LOADが成功するファイルと見比べてみると、改行コードが異なることが分かった。
(このとき、ちゃんとしたエディタで開いたからすぐ分かって良かった。メモ帳なんかで開いてたら解決に至らなかったかも)
下記の記事の通り、書き込みファイルをオープンする際の指定を"w"(テキストモード)とするか、"wb"(バイナリモード)とするかで改行コードの指定が変わる。(Windows環境なら)