CSVファイルの正しい作り方

データベースへの一括アップデートなど、CSVを扱う機会は多い。しかしこれの編集を色々な環境で行えるようにするには、ちょっと工夫が必要です。

今回は以下の様な要件でしたが、今後のためにもログを取ります。

  • wordpressのデータの一括更新をしたい
  • 環境はWINDOWSを使っていた
  • エクセル2013
  • テストはMACのXAMPP環境で

最初、macで編集していたら行を認識せず全く更新出来ない。

アップロード用のphpソースを見ていると、あず引っかかったのが tmpfile()でfalseを返していたこと。

sys_get_temp_dir()してテンポラリファイルの格納場所とパーミッションを調べてここは解決。

その次引っかかったのが改行コードの違い。Excel for Macで編集したCSVは、行を認識してもらえない。。

ソースを修正する方法もあるのだが、クライアントはWINなのでこのままにしてCSVはWINで編集することにした。

編集方法は以下。
1.データをダウンロード
2.ダウンロードしたデータを、Notepadで開く
3.「名前を付けて保存」で、形式は「全てのファイル」を選択、文字コードは「UTF8」を選択して、「xxxxx.csv」という名前で保存。
4.保存した「xxxxx.csv」を、エクセルで開き、編集。
5.終了したら「名前を付けて保存」する。このとき、ファイルの種類は「CSV(カンマ区切り)」で保存。ノーティスがでるがそのまま保存。
6.これで完了。管理画面からアップする。