前回は、ToodledoのタスクをTodoistへ取り込みやすい順番に並び替えました。
今回は並び替えたデータをTodoistにインポートできるプログラム文法を変換します。
5. Todoistインポートデータのプログラム文法に変換する
サクラエディタを用意する
Todoistのプログラム文法に変換するために、プログラムコード用のエディタ、サクラエディタをダウンロードします。
下記サイトから最新版をダウンロードしましょう。
サクラエディタにToodledoデータを取り込む
サクラエディタにToodledoデータを取り込みます。
▼Toodledoデータを「テキスト(タブ区切り)」形式で保存します。
![20150608_toodledo_to_todoist-1 20150608_toodledo_to_todoist-1-](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-1.jpg)
▼こういう表示が出てきますが、すべてOKで問題ありません。
![20150608_toodledo_to_todoist-2 20150608_toodledo_to_todoist-2-](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-2.jpg)
![20150608_toodledo_to_todoist-3 20150608_toodledo_to_todoist-3](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-3.jpg)
▼サクラエディタを起動し、保存したテキストをドラッグアンドドロップで開きます。
![20150608_toodledo_to_todoist-4 20150608_toodledo_to_todoist-4](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-4.jpg)
1行目は属性名(title2やtag)なので削除しておきましょう。
改行形式を変換する
ここが今回のキモのひとつです。
▼取り込んだ状態だと改行がカギ矢印になっています。
![20150608_toodledo_to_todoist-5 20150608_toodledo_to_todoist-5](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-5.jpg)
この状態だとTodoistにインポートできません。
▼そこで、名前を付けて保存の画面で
![20150608_toodledo_to_todoist-6 20150608_toodledo_to_todoist-6](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-6.jpg)
▼改行コードを「LF(UNIX)」にして保存し直します。
![20150608_toodledo_to_todoist-7 20150608_toodledo_to_todoist-7](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-7.jpg)
▼すると改行が下矢印になります。
![20150608_toodledo_to_todoist-8 20150608_toodledo_to_todoist-8](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-8.jpg)
こうすることにより、1改行1タスクとしてTodoistに認識され、インポートが可能になります。
ノート周りを変換をする
改行コードをLFにして、タスクをTodoistに読み込めるようにしましたが、ノートがタスクと同じ行にある今の状態では、ノートがノートの中に配置されず、タスクとして配置されてしまいます。
そこで、サクラエディタの置換を使って、ノートがノートとして認識されるようにしていきます。
ノート前の”を削除する
複数行のノートは、Toodledoからのエクスポート時に「”」で囲まれます。
インポートするときに邪魔になるので、「”」を削除します。
ノートの後ろの「”」は後で使うので、ノートの前の「”」をまず消します。
▼ツールバー上にある「置換」をクリックします。
![20150608_toodledo_to_todoist-9 20150608_toodledo_to_todoist-9](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-9.jpg)
▼置換前を「”[[NOTE]]」にし、置換後を「[[NOTE]]」にし、すべて置換することにより、ノート前の「”」を削除できます。
![20150608_toodledo_to_todoist-10 20150608_toodledo_to_todoist-10](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-10.jpg)
ノートの前に改行を挿入する
ノートをノートとして認識させるために、ノートの前に改行を入れます。
▼どこか適当なノートの前で改行し、改行~[[NOTE]]までコピーします。
![20150608_toodledo_to_todoist-11 20150608_toodledo_to_todoist-11](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-11.jpg)
コピーした後は、改行を削除し、元に戻しておきます。
▼置換メニューの置換前に「[[NOTE]]」を入れ、「クリップボードから貼り付ける」にチェックを入れ、すべて置換します。
![20150608_toodledo_to_todoist-12 20150608_toodledo_to_todoist-12](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-12.jpg)
▼すると、すべてのノート前に改行が入ります。
![20150608_toodledo_to_todoist-13 20150608_toodledo_to_todoist-13](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-13.jpg)
ノート内の改行をタブに変換する
ノート内での改行は、Todoistのブログラム文法ではタブになります。
よって、ひと手間かけて、ノート内の改行をタブに変換します。
通常の改行とノート内の改行、複数行ノートと通常タスクの間の改行を切り分ける
▼通常の改行の場合、改行の前に必ずタブがあります。
![20150608_toodledo_to_todoist-14 20150608_toodledo_to_todoist-14](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-14.jpg)
▼ノート内の改行の場合、直前にタブはなく、改行のみとなります。
![20150608_toodledo_to_todoist-15 20150608_toodledo_to_todoist-15](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-15.jpg)
▼複数ノートと通常タスクの間の改行の場合、直前に先ほど残しておいた「”」があります。
![20150608_toodledo_to_todoist-41 20150608_toodledo_to_todoist-41](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-41.jpg)
この違いを利用します。
▼まず、置換メニューの「正規表現」にチェックを入れ、置換前に「\t\n」を入れ、置換後にノート内で決して使っていないであろう語句を適当に入れ、すべて置換します。
![20150608_toodledo_to_todoist-17 20150608_toodledo_to_todoist-17](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-17.jpg)
これで、通常の改行を文字列に変換できました。
(「\t\n」は「タブ改行」の正規表現です。
詳しく知りたい方は以下のリンクを参照下さい。
▼続けて、「”\n」も適当な語句に置換します。
![20150608_toodledo_to_todoist-44 20150608_toodledo_to_todoist-44](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-44.jpg)
これで、複数行ノートと通常タスクの間の改行を文字列に変換できました。
次に、ノート内の改行をタブに変換します。
▼置換前に「\n」、置換後に「\t」を入れて、すべて置換します。
![20150608_toodledo_to_todoist-20 20150608_toodledo_to_todoist-20](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-20.jpg)
最後に文字列に変換していた通常の改行と複数行ノートと通常タスクの間の改行を元に戻します。
▼置換前に変換した文字列、置換後に「\n」を入れてすべて置換します。
![20150608_toodledo_to_todoist-21 20150608_toodledo_to_todoist-21](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-21.jpg)
▼これで、通常の改行は改行のまま、ノート内の改行はタブに変換されました。
![20150608_toodledo_to_todoist-22 20150608_toodledo_to_todoist-22](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-22.jpg)
ここで非常に残念なお知らせがあります。
この方法では、ノートが一行の場合が切り分けられず、ノートと次のタスクがタブで繋がり、次のタスクがノート内に格納されてしまいます。
▼ノートが1行の場合、改行の前に何も入らないので、ノート内改行との区別が付かない。
![20150608_toodledo_to_todoist-37 20150608_toodledo_to_todoist-37](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-37.jpg)
▼結果、処理がノート内の改行と同じになってしまいます。
![20150608_toodledo_to_todoist-38 20150608_toodledo_to_todoist-38](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-38.jpg)
▼なので、[Ctrl]+[F]で検索を呼び出して、「[[NOTE]]」の該当行をマークして、
![20150608_toodledo_to_todoist-39 20150608_toodledo_to_todoist-39](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-39.jpg)
▼目視確認し、一行の場合、手作業で改行を入れていきましょう。
![20150608_toodledo_to_todoist-40 20150608_toodledo_to_todoist-40](https://taskarts.com/wp-content/uploads/2015/06/20150608_toodledo_to_todoist-40.jpg)
まとめ
今回で、並び替えたデータをTodoistにインポートできるように、プログラム文法を変換しました。
全5回へのリンクを以下のページにまとめました。
よろしければ、ご活用ください。