BODIK Utility(12)BODIKエディタ

ISITでは、自治体様がオープンデータを公開する際の助けになるようなツール群(BODIK Utility)を開発し、公開しています。皆様のオープンデータ公開業務にお役立てください。

BODIKエディタ

オープンデータのCSVを編集することに着目したWebエディタです。

BODIK Utilityの各機能を1つのエディタで使えるようにしました。オープンデータを編集するならこのエディタだけでOK、と思っていただけると嬉しいです。

Excelの「おせっかい」

通常、CSVを編集するときはExcelを使うユーザーが多いのではないでしょうか?表形式のデータを編集するとき、Excelは非常に優秀な機能を提供してくれますが、いくつか困った現象(「Excelのおせっかい」と呼んでいます)が発生することがあります。

  • 日付を表すとみなせる文字列を勝手に日付型に変更する。(例:住所の番地の「1-2」を「1月2日」に変換する)
  • 日付の書式をスラッシュ区切りに変更する。(例:「2025-04-01」を「2025/4/1」と表記する)
  • 数字と思われる文字列の先頭の「0」を取り除く。(例:自治体コード「012345」が「12345」になってしまう)

こんな経験はありませんか?

  1. Excelで書式などを設定して思い通りの形式のデータに揃えることができたので、CSVで保存した。
  2. Excelで開いてみたら、直したはずなのにおかしくなっている。
  3. おかしいなと思いながら、同じ対応をして保存した。
  4. Excelで開いたら、、、、、この繰り返し

このような経験されたユーザーは多いのではないでしょうか?

そもそもCSVに保存した時点で、CSVにはExcelの書式などの各種設定情報は保存されません。ちゃんと作ったはずのCSVをExcelで開くと、Excelの「おせっかい」が発動してしまいます。

Excelに「おせっかい」をやめさせるのは難しいので、Excelに変わるオープンデータ専用のエディタを開発することにしました。これが私の春休みの宿題です。

BODIKエディタの機能

ブラウザでスプレッドシートのデータを表示する仕組みとして、BODIK Utilityの「フォーマッタ」などで使っている「AG-Grid」を使います。今回は、スプレッドシートを表示するだけではなく、AG-Gridの編集機能も組み込みました。

列データ編集1

比較的単純な編集機能群です。

アクション説明対象
クリアする選択した列のデータをクリアする列全体
文字列をセットする選択した列にパラメータで指定した文字列をセットする列全体
ブランクセルに文字列をセットする選択した列のデータがブランクなセルに指定した文字列をセットする列全体
他の列の値をセットする選択した列のデータを他の列にセットする列全体
他の列にコピーする選択した列に他の列のデータをコピーする列全体
先頭に文字列を追加する選択した列の先頭に文字列を追加する列全体
最後に文字列を追加する選択した列の最後に文字列を追加する列全体
先頭に他の列を追加する選択した列の先頭に他の列を追加する列全体
最後に他の列を追加する選択した列の最後に他の列を追加する列全体
他の列と比較する選択した列と指定した列を比較する列全体

列データ編集2

少し複雑な編集機能群です。

アクション説明対象
クリップボードにコピーする選択した列のデータをクリップボードにコピーする列全体
クリップボードからペーストする選択した列にクリップボードのデータを貼り付ける列全体
0埋めするパラメータで指定したパターンで埋めする。列全体
四捨五入するパラメータで指定した小数点以下の桁数で四捨五入する。列全体
改行を除去する選択した列のデータから改行を除去する。
Excelでセル内改行されたデータの改行除去に使用する。
列全体
置換するパラメータ1で指定した文字列をパラメータ2で置き換える。
パラメータ1の文字列が複数存在する場合は、最初の1つのみ置き換える
列全体
正規表現で置換する正規表現を使って、パラメータ1で指定した文字列をパラメータ2で置き換える。
パラメータ1の文字列が複数存在する場合は、すべて置き換える。
列全体
ひらがなをカタカナに変換する選択した列のひらがなをカタカナに置き換える。列全体
和暦を西暦に変換する選択した列の和暦を西暦の日付(YYYY-MM-DD)に置き換える。列全体
日付(YYYY-MM-DD)に整形する選択した列の日付データを YYYY-MM-DD 形式に揃えます。スラッシュ区切りをハイフン区切りに変更し、月、日を2桁の0埋めします。列全体
時刻(HH:MM)に整形する選択した列の時刻データを HH:MM 形式に揃えます。時、分を2桁の0埋めします。列全体

列操作

アクション説明対象
列を追加するパラメータで指定した名前の列を表の最後に追加する列全体
列を非表示にする選択した列を非表示にする。
※データとしては残っているが、ダウンロードすると消える。
列全体
列を表示する非表示にした列を復活するときに使う。列全体
全列を非表示にするすべての列を非表示にする列全体
全列を表示するすべての列を表示する列全体
オリジナル列を非表示にする「オリジナル」列グループを非表示にする列全体
オリジナル列だけを表示する「オリジナル」列グループだけを表示する列全体
データ型を文字列にする選択した列のデータを文字列とする列全体
データ型を数値にする
選択した列のデータを数値とする(ソートするときに数値の大小でソートできる)
列全体
列を付け足す選択した列の一部を指定した列の後ろに付け足す。列全体

行操作

アクション説明対象
行をコピーする選択した行の複製を追加する。
行を追加する空っぽの行を追加する。
行を削除する選択した行を削除する。
下の行をマージする選択した行に下の行のデータをマージし、下の行を削除する。

BODIK Utility機能等

BODIK Utilityで提供する機能などを呼び出します。

アクション説明対象
地図に表示するマップが表示されます。
「緯度」「経度」の情報を使って、地図上にマーカーを表示する。選択した列のデータをポップアップに表示する。
※「緯度」「経度」列が必要。
列全体
住所を緯度経度に変換するマップが表示されます。
選択した列のデータを「住所」とみなし、外部APIを使って「緯度経度」に変換する。
※「緯度」「経度」列が必要。
セル
※微調整が必要なので個別指定
住所を正規化・分割する選択した列のデータを「住所」とみなし、外部APIを使って「住所の正規化」を呼び出す。
※「所在地_連結表記」,「所在地_都道府県」, 「所在地_市区町村」,「所在地_町字」,「所在地_番地以下」列が必要。
セル
住所を郵便番号に変換する選択した列のデータを「住所」とみなし、外部APIを使って郵便番号に変換する。
※「郵便番号」列が必要
セル
URLを表示する選択したセルのURLをブラウザの別タブで表示する。セル
URLの画像を表示する選択したセルのURLを画像としてブラウザの別タブで表示する。セル
URLのリンク切れをチェックする選択した列のデータをURLとしてリンク切れを確認する。列全体

セルのエディタ設定

セルのデータに応じた入力エディタを設定します。

アクション説明対象
テキストエディタを設定する標準のテキストエディタ(文字数:80文字まで)を設定する。列全体
ラージテキストエディタを設定する長文のテキストエディタ(文字数:2,048文字まで)を設定する。列全体
テキストセレクタを設定するパラメータにカンマ区切りで指定した単語の中から選択するコンボボックスを設定する。列全体

自治体標準ODS用セレクタ

自治体標準ODSで定義されている予約語のセレクタを設定します。

アクション説明対象
文化財の文化財分類(単一)セレクタを設定する自治体標準ODSの「文化財」の「文化財分類」の選択肢を表示するコンボボックスを設定する。
定義書では複数選択となっているが、このツールでは単一選択となる。
列全体
文化財の種類セレクタを設定する自治体標準ODSの「文化財」の「種類」の選択肢を表示するコンボボックスを設定する。列全体
介護サービス事業所の実施サービス(単一)セレクタを設定する自治体標準ODSの「介護サービス事業所」の「実施サービス」の選択肢を表示するコンボボックスを設定する。
定義書では複数選択となっているが、このツールでは単一選択となる。
列全体
医療機関の種類セレクタを設定する自治体標準ODSの「医療機関」の「種類」の選択肢を表示するコンボボックスを設定する。列全体
医療機関の災害拠点分類セレクタを設定する自治体標準ODSの「医療機関」の「災害拠点分類」の選択肢を表示するコンボボックスを設定する。列全体
消防水利施設の種別セレクタを設定する自治体標準ODSの「消防水利施設」の「種別」の選択肢を表示するコンボボックスを設定する。列全体
食品等営業許可の営業の種類セレクタを設定する自治体標準ODSの「食品等営業許可」の「営業の種類」の選択肢を表示するコンボボックスを設定する。列全体
食品等営業許可(R3以降)の営業の種類セレクタを設定する自治体標準ODSの「食品等営業許可(R3以降)」の「営業の種類」の選択肢を表示するコンボボックスを設定する。列全体
食品等営業許可の申請区分セレクタを設定する自治体標準ODSの「食品等営業許可」の「申請区分」の選択肢を表示するコンボボックスを設定する。列全体
有無セレクタを設定する自治体標準ODSの「有無」の選択肢を表示するコンボボックスを設定する。列全体
可否セレクタを設定する自治体標準ODSの「可否」の選択肢を表示するコンボボックスを設定する。列全体

(拡張機能)BODIK ODCS関連

BODIK ODCSの情報を取得できます。

アクション説明対象
パッケージ一覧用の項目を作成するパッケージ一覧に必要な列を追加する。全体
リソース一覧用の項目を作成するリソース一覧に必要な列を追加する。全体
パッケージIDの一覧を取得する指定した自治体のパッケージIDの一覧を取得する全体
パッケージ一覧を作成するパッケージIDからパッケージ情報を取得し、パッケージ一覧を作成する全体
リソース一覧を作成するパッケージIDからパッケージ情報を取得し、リソース一覧を作成する。全体

(拡張機能)Webページ

Webページをスクレイプして情報を取得する。

アクション説明対象
Webページからリソースを抜き出すスクレイプ技術を使って、Webページからアンカーを抜き出す。
Webページからイメージを抜き出すスクレイプ技術を使って、Webページからイメージを抜き出す。
Webページからテーブルを抜き出すスクレイプ技術を使って、Webページからテーブルを抜き出す。
JSONに定義されている列を作成する行データに定義されている項目の列を作成する。全体

(拡張機能)WebAPI

WebAPIを呼び出し、結果を解析する。

アクション説明対象
BODIK APIを呼び出すBODIK APIを呼び出し、結果をJSONとして表示する。列全体
WebAPIを呼び出すWebAPIを呼び出し、結果をJSONとして表示する。列全体
辞書から値を取り出す指定した列のデータを辞書とみなし、指定したキーの値を取り出す。列全体
配列から要素を取り出す指定した列のデータを配列とみなし、番号で指定した要素を取り出す。列全体
オブジェクトをJSONに変換する指定した列にオブジェクトがセットされているとき、JSONに変換する。列全体
文字列を配列JSONに変換する指定した列の文字列を指定した区切り文字で分割し、配列に変換する。列全体
配列を行に展開する指定した列のデータを配列とみなし、その行をコピーして配列の要素を展開する。列全体
JSONを行データにセットする指定した列のデータに辞書データがセットされているとみなし、その辞書データを行データにセットする。列全体
行データをJSONに変換する行データをJSONに変換して、指定した列に展開する。列全体
JSONに定義されている列を作成する行データに定義されている項目の列を作成する。全体

BODIKエディタの使い方

BODIKエディタは、次のリンクからアクセスし、ご利用ください

URL:https://utility.bodik.jp/bodikeditor

リンクを開くと、次のような画面が表示されます。

BODIKエディタ起動画面

編集するCSVファイルを指定する方法は3つあります。

  • 新規作成する
    1. 「新規作成」ボタンを押す。
    2. このエディタはデータが空っぽだと何もできないので、「全国地方公共団体コード」だけを含むデータを表示します。
      この項目が不要な場合は「列を非表示にする」コマンドで隠してください。
  • ローカルのCSVファイルを開く
    1. 「CSVファイルを開く」ボタンを押す。
    2. ローカルPCのCSVファイルを選択する。
  • Web上に置いてあるCSVファイルのURLを指定する
    1. 開きたいCSVのURLリンク、例えば、BODIK ODCSのリソースファイルのURLリンクをクリップボードにコピーしておく。
    2. 「URLから開く」ボタンを押す。
    3. 表示されたパネルのURL欄に開きたいCSVのURLリンクをペーストする。
    4. 「OK」ボタンを押す。

ファイルを指定すると、読み込んだCSVを表形式で表示します。

BODIKエディタの編集画面

この画面でCSVを編集することができます。

  1. 指定したCSVファイルをスプレッドシートとして表示します。
    グリッドの機能として、ソートとフィルタができます。
    • 列ヘッダーをクリックすると、指定された列でソートします。
    • 列ヘッダーの右端にある三本線(バーガーアイコン)をクリックすると、かんたんはフィルター設定ができます。
  2. グリッドのデータ部分をクリックすると、その列の背景が黄色で表示され、選択されていることを表します。
  3. 「アクションを選択する」でアクショングループを選択し、その中のアクションを選択してください。
  4. 選択したアクションに応じてパラメータ等を設定し、「実行」ボタンを押すと、選択した列に対して指定したアクションが行われます。
  5. 「自治体標準ODS」の右のコンボボックスで「自治体標準ODS」を指定できます。
    CSVを読み込んだ時点では「未指定」となっています。希望する「自治体標準ODS」の種類を選択してください。
    ここで指定した自治体標準ODSの項目に合わせて読み込んだCSVを表示します。
    自治体標準ODSに定義されている項目が最初に表示され、それ以外のCSVの固有の項目は最後部に配置されます。
  6. 「ダウンロード」ボタンを押すと、表示されているデータをUTF-8(BOM付き)のCSVファイルとしてダウンロードします。
    • 表示している状態でCSVに保存します。
    • 「非表示にした」項目は、ダウンロード時に書き込まれません。
  7. 「NEW」ボタンを押すと、起動画面に戻ります。

まずは自由にお使いください。

かんたんな使い方を別ブログで掲載します。こちらもご参照ください。

BODIK Utility(12) BODIKエディタ かんたんな使い方

ISITでは、自治体様がオープンデータを公開する際の助けになるようなツール群(BODIK Utility)を開発し、公開しています。皆様のオープンデータ公開業務にお役立てください。 BODIKエディタ オープンデータのC […]

ひらの