行が多すぎて処理不能そうです。処理する行数が多すぎて処理できなかったのです(6千行くらいありました)これは盲点、でも考えてみたら当たり前なのか。編集し終えたCSVファイルが大きすぎてまったく処理できないということを理解しました。ここまでで説明をすっ飛ばしていますが、「表計算ソフト」とわざわざ書いてるのはエクセルだと文字コードがどうたらこうたらと面倒なことがちょっとあるそうなので。エクセルをお使いの場合は文字コードに注意してください。それと、書き出すときにセルの「数字」と「文字」にも注意が必要です。基本、文字にしないといけないのではなかったでしたっけ。関する検索で見つけていただければと思います。行数を減らしてテストそこで、ローカルのCSVファイルを少ない行数で書き出して別ファイルにして、それを読み込んでいました。少ない行数とは何行なのか。試しに1000に減らしてみました。次に500行に減らしました。次に100行に減らしました。列の少ないデータではやっとこさインポートできました。「100行以内ならOKなのか」と安心して、別のファイルで試してみると、エラーで続行不可でした。70行、50行、20行、いろいろ試した結果、内容がシンプルなら100行程度、カスタムタクソノミーがたくさんあったりカスタムフィールドがたくさんあるようなフルデータだと50行でもエラーになる時があるとわかりました。50行や100行程度に収めたファイルに分割してインポートし続けるなど、そんな面倒臭いことは到底できません。そもそも簡単に大量の編集を行うためのCSVエクスポートインポートだった筈、余計ややこしくしてどないするんじゃ。なんだか意気消沈してしまいました。簡単なちょっとした内容の100行程度のファイルだとCSV入出力の価値があります。肝心のメタ情報たっぷりのフルサイズ編集にはまったく力不足で使い物にならないと、やっと学習しました。これはもちろんサーバーの能力にもよると思います。共用レンタルサーバーでちまちまやっている私のような人は大量のCSVインポートなんか共用の他の方に迷惑が掛かるだけでそもそも無茶なのかもしれません。普通のインポートだと順序よくエラーもなく取り込めるのにCSVインポートではダメというのは、プラグインがいろいろ複雑な工程を踏んでいるので仕方ないのだろうなあと。データベースと直接やりとりするそんなわけで数日間CSVと格闘しましたが、結局自分の望んでいるようなことが出来ないと確認できただけでした。そこでふと考えがよぎります。サーバーを引っ越しするときなど、データベースからエクスポートしてインポートするではないか。そのときは数万行のデータであっても特に問題なくあっという間に出来るではないか。データベースを直接触る分には数千行などたかだかしれいていますね。Wordpressの管理画面から行うというのは、Wordpressとデータベースの複雑怪奇なやりとりをかましますからとても複雑な作業となってしまいメモリやサーバー性能を喰らい尽くすのですね。?データベースからCSVエクスポートインポートmyadminにログインして早速テストします。怖いのでもちろんテストサイトを使いました。myadminにログインしてテーブルを選んでエクスポートしてみます。このとき、なんと便利なことにcsvエクスポートも選べます。エクセル形式っていうのも選べます。エクスポートはプラグインの世話になんかならなくてもデータベースから直接行えます。csvインポートは無理なのでWordpressからちまちまやるしかありません(追記:以前「簡単にできます」とうっかり書いてしまっていましたが簡単にはできません。簡単にできるのはエクスポートだけのことでした。この件については他の記事のここやここでも言及しています。謹んで修正しておきます)CSVインポートは少ない行数でちまちまやるしかありませんがエクスポートが簡単だと気づいて良かった良かった・・・データベース構造なーんだ、最初からこうすればよかっただけじゃん。と一瞬間抜けにもそう思います。そんな簡単な話でもありません。カスタムフィールドやタクソノミーを上手く扱えないんですよ。データベースのテーブルを書き出しただけでは。変更はできても新規には割り当て不能です。WordPressデータベースの仕組みWordPressの編集画面からならば簡単にタクソノミーやカスタムフィールドを作ったり編集したりできますが、生のデータはそうはいきません。仕組みというものがあります。IDを元にタクソノミーを関連づけたり、カスタムフィールドとポストを関連づけたりしています。編集画面では裏でphpが必死に動いています。Wordpressの複雑怪奇なコード群がリレーションを上手に動かしてくれているからこそできるんですね。何か編集しようと思って、生のデータを触って弄ってポンというわけにはいきません。そんなことしたら壊れてしまいます。そこで、生まれて初めてWordpressのデータベースの構造というものに注意を向けてみることにしました。構造が一目でわかる便利なページが用意されています。今までこのようなページを見たことがなかったのだろうと呆れますがとにかく見てみます。データベース構造これがそうですね。詳しい説明はCodexページに書いてあります。複雑なものを空想していました。ポスト、タクソノミー、ポストメタについて「なるほど知恵の産物やな」と納得。いうこの図をたらたら眺めて、ようやくwordpressデータベースの基本的な構造がわかりました。今まで知らんかったんかいっ。自分ツッコミを入れながら、こういう図はどこかでよく見かけた図だなと感じます。昔よく見たファイルメーカーのリレーション図です。Pro、データベースソフトのあれです。そりゃ、データベース仲間なんだから似ていて当たり前の話です。なるほどと感心しながら、次に良からぬ考えが浮かびます。CSVをFileMakerで管理したらどうじゃろか。WordPress管理画面からCSVをエクスポートすると、タクソノミーやポストメタがリレーションの仕上がった状態でダウンロードできます。それをインポートしようとすると複雑怪奇な処理が行われますからサーバーエラーとなります。データベースからテーブルごとにCSVをエクスポートしてFileMakerにインポートし、正しくリレーションを再現して管理、編集することによって、FileMakerからテーブルごとに簡素なCSVとして書き出すことができ、それをインポートすればエラーも少なくデータを変更できるのではないか。そんな風に思いました。「まず」というのは、この先いろいろあったからですが、今はまだその段階ではなくCSVにこだわっております。いうかMySQLデータベースにCSVでインポートできないし(変換して取り込むことに取り組みましたが難しくて諦めました)プラグイン使ってやると多くの行が処理できないとあれほど身に染みているのに完全に脳味噌がとろけています。テーブルごとにエクスポートしたデータをFileMakerのテーブルごとにインポート、リレーションを組んでいきWordpress構造をローカルで再現する、という遊び自体が何だか楽しそうに思えて、すでにいろいろ本末転倒して最初の目的を忘れていますがわくわくし始めている段階です。いうことでこの後はまた話が長くなるので次回に繋げます。