Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9140

日本語カラムを自動的に英字カラムに変換するReactのWebアプリを作ってみた

$
0
0
BigQueryにcsvファイルなどのデータをロードする際に、カラム名のユニコード対応が未だにされていないことで、もしカラム名が日本語の場合はヘッダーを英数字に変換する必要が出てくる。 少量のカラムであれば、手で変換して行けば良いかもしれませんが、大量のカラムがある場合にはかなり手間がかかる作業になります このようなシーンで活躍しそうな、日本語カラムのcsvファイルを自動的に英字カラムに変換してデータをロードさせるツールを作ってみました。 ツールの使用感 csvファイルを読み込ませると、text列に元のカラム名、そしてtranslated textに変換された英字を出します。 以下は、国土交通省の台風位置データを読み込ませた画面の例です。 見ての通り、一部で変換出来ない文字があることがわかります。この画面上で編集することが出来ます。 また、type列でインポート先のデータ型をここで決めることも出来るようにしています。最初は全てstring型に固定させてます。string型から適切な型を選ぶと良いです。 (まだ、bq load --autodetectのような、データ型の自動推定まではやれていません。) 数字から始まっている文字もBigQueryのカラム名に使えないため編集します。 この例ではtypeもデータに合わせて、integer, floatに変えてしまってます。 最後に、Create Tableボタンを押すと、BigQueryにテーブルを作ってデータをインポートさせます。 以下はデータが入ったBigQueryのテーブル情報とプレビューです。 画面で指定した通りのフィールド名とデータ型でスキーマが定義されています。 英字のみで分からなくならないように、元のカラム名はディスクリプションに入れています。 指定したデータ型ですべのデータがインポート出来ています。 今回のサンプルデータとして、以下を使用しています。 国土交通省 - 気象予報_天気予報・台風の資料 - 台風位置表のCSVデータ(2021年) ファイルのエンコードにutf-8対応させていません。 国土交通省の元のファイルはsjisだったため、文字化けしてしまいます。 nkfなどを使って、utf-8に変換する必要があります。 何を使って実装しているか 次回の投稿で、内部の実装を簡単に説明したいと思ってます。

Viewing all articles
Browse latest Browse all 9140

Trending Articles