コンテンツにスキップ

列名の変更

列の名前を変えます。1 列ずつ付け直すほか、まとめて置換したり、データの 1 行目を列名にしたりできます。

SQLビルダーにも同じ名前の機能がありますが、選べる処理タイプが違います。SQLビルダーで使うときは列名の変更を見てください。

入出力

ポート内容
入力データデータ
出力データデータ

Spark エンジンでも動きます。

設定項目

フォームの見出しの並び — 「詳細設定」 → 「検索対象の設定」 → 「置換後文字の設定」 → 「範囲指定の設定」。条件によって出ない見出しもあります。

処理タイプを選択
4 つから選びます。既定は列ごとに変更です。選んだタイプによって、以降の項目が入れ替わります。
処理タイプ何をするか
列ごとに変更列を選んで 1 つずつ名前を付ける
指定文字を一括置換列名に含まれる文字を置き換える
条件に一致した文字を一括置換条件に当てはまる部分を置き換える
行の値を列名にするデータの中の 1 行を列名として使う

列ごとに変更

この処理タイプだけ、設定がフォームではなくダイアログです。 フォームには 列名変更 ボタンだけが出ます。押すと列ごとに変更というダイアログが開き、入力データの全列が並びます。

列名変更
ダイアログを開くボタン。隣に 「n 列変更」 と、いま何列に名前を付けたかが出ます。1 列も付けていないときは 「変更が設定されていません」 です。
ダイアログの中
左に元の列名(型のアイコン付き)、右に新しい名前の入力欄が 1 行ずつ並びます。入力欄を空のままにした列は名前が変わりません。

選ばなかった列はそのままです。変更後の名前が空だとエラーになります。

指定文字を一括置換

列名に含まれる文字を、まとめて置き換えます。置換ルールは複数作れ、上から順に適用されます。

正規表現で指定する
on にすると、置換する文字を正規表現で書けます。
置換文字必須
置き換えたい文字。複数入れられます。
置換後
置き換えたあとの文字。空のままにすると、その文字が消えます。

売上_2024 原価_2024 のような列名から _2024 を消す、といった使い方をします。

全角と大文字小文字

このタイプと「条件に一致した文字を一括置換」では、オプションに 2 つの項目が出ます。

全角文字を半角に変換する
列名の全角英数を半角にします。
英字の変換を選択
変換しない(既定)/ 小文字に変換する / 大文字に変換する。

この 2 つは置換が終わったあと、すべての列名に掛かります。 置換ルールに当たらなかった列名も対象です。

取り込んだデータの列名が ID のように全角だったり、大文字小文字が混ざっていたりするときに揃えられます。

条件に一致した文字を一括置換

「何で始まる」「何を含む」といった条件で部分を見つけて置き換えます。

条件タイプ
から始まる / で終わる / を含む / が先頭の / が末尾の。
目印の文字を入れる欄
見出しは条件タイプで変わり、開始文字 / 終了文字 / 含む文字 / 先頭文字 / 末尾文字の「〜を入力(複数可)」になります。カンマ区切りで複数指定できます。
文字カテゴリを指定する(検索条件の中)
on にすると、目印を具体的な文字ではなく数字 / 英字 / 日本語文字 / 記号の種類で指定できます。
開始文字を置換対象に含める
既定は on。見つけた目印の文字も置き換えの対象にするかどうかです。条件タイプによって「終了文字」「先頭文字」「末尾文字」と名前が変わります。
文字カテゴリを指定する(検索条件の外)
置き換える中身の形を決めます。on にすると連続する文字の種類を選択が出て、連続する数字(既定)/ 連続する数字+英字 / 連続する文字を指定するから選べます。off のままだと「中身」は「どんな文字でもよい」になります。
文字数を指定する
on にすると 数値を入力 が出て、その文字数ちょうどの並びだけが対象になります。
置換文字以外を置換する
on にすると、見つかった部分以外を置き換えます。

「列名の末尾に付いている連続した数字を消す」のような指定ができます。ただし組み合わせを 1 つ間違えると列名がまるごと消えるので、次の注意を読んでから使ってください。

行の値を列名にする

データの 1 行を取り出して、その値を列名にします。 1 行目が見出しになっているファイルを、見出し無しで読み込んでしまったときに使います。

条件必須
どの行を列名にするかを、条件で指定します。条件の作り方は条件で行をフィルタと同じです。
条件の接続方法を選択
条件が 2 つ以上のときに出ます。AND / OR。
条件に一致しないデータを残す
条件の一致・不一致を入れ替えます。
条件に一致した行を結果から除外する
既定は on。列名にした行をデータから消します。off にすると、その行はデータにも残ります。

エラーと対処

列名を設定していない

処理タイプに必要な設定が空のとき。

列名の設定がされていません

直し方 — 処理タイプごとの設定を埋めてください。「列ごとに変更」なら列と新しい名前の組、「指定文字を一括置換」なら置換ルールです。

置換する文字を入れていない

検索条件を足したのに、目印の文字を入れていないときに出ます。

置換対象文字列を入力してください。

直し方 — 目印の文字を入れるか、その検索条件そのものを消してください。

変更後の列名が空

「列ごとに変更」で、新しい名前を入れていないとき。

変更後の列名を入力してください。

直し方 — 新しい名前を入れてください。空にはできません。

選んだ列が見つからない

「列ごとに変更」で指定した列がないとき。

対象の列が存在しません。

直し方 — 列を選び直してください。

条件に使う列が選ばれていない

「行の値を列名にする」の条件で、比べる列を空のまま実行したとき。前の処理で列名が変わり、選んでいた列が入力データからなくなったときにも同じメッセージです。

対象の列が選択されていません。

直し方 — 条件の列を選び直してください。

列名にする行が 1 行でない

「行の値を列名にする」で、条件に当たる行が 0 行または 2 行以上のとき。

列名にする行は1行である必要がありますが、条件に一致する行数は{{n}}行です。

{{n}} のところには、実際に当たった行数が出ます。

直し方 — 条件を絞って 1 行だけにしてください。0 行のときは条件が厳しすぎます。

正規表現が不正

「正規表現で指定する」で、書き方が間違っているとき。

正規表現 {{regexp_text}} が不正です。参考:https://docs.python.org/ja/3/howto/regex.html

{{regexp_text}} のところには、入力した正規表現がそのまま出ます。

直し方 — かっこの対応を確かめてください。

よく使う例

1. 列名を 1 つずつ付け直す

お題 — col1 col2 を 顧客ID 氏名 にしたい

入力 — 列名が col1 col2 のデータ

設定 — 処理タイプ「列ごとに変更」で 2 つの組を作る

出力 — 列名が 顧客ID 氏名 になる。値と並び順は変わらない

2. 列名から年を取り除く

お題 — 売上_2024 原価_2024 から _2024 を消したい

入力 — 列名が 売上_2024 原価_2024 のデータ

設定 — 処理タイプ「指定文字を一括置換」、置換文字 _2024、置換後は空

出力 — 売上 原価

3. 列名の全角を半角に揃える

お題 — 取り込んだデータの列名に全角英数が混ざっている

入力 — 列名が ID 売上2024 のデータ

設定 — 処理タイプ「指定文字を一括置換」、「全角文字を半角に変換する」を on

出力 — 列名が ID 売上2024 になる

注意 — 置換ルール自体は必要です。消したい文字がないときは、存在しない文字を指定しておきます

4. 列名を小文字に揃える

お題 — ID Id id が混ざっている

入力 — 列名が ID Id id のデータ

設定 — 処理タイプ「指定文字を一括置換」、「英字の変換を選択」で小文字に変換する

出力 — 列名がすべて id になる。同じ名前の列が並ぶので、先に列選択/削除で要らない列を落としておきます

5. 見出し行を列名にする

お題 — 見出しが 1 行目に入ったまま読み込まれてしまった

入力 — 列名が 列1 列2、1 行目に 顧客ID 氏名 が入ったデータ

設定 — 処理タイプ「行の値を列名にする」、条件で 1 行目を指す(例: 列1 が 顧客ID に等しい)、「条件に一致した行を結果から除外する」は on のまま

出力 — その行が列名になり、データからは消える

6. 列名の末尾の数字を消す

お題 — 売上1 売上2 のように付いた連番を消したい

入力 — 列名が 売上1 売上2 合計 のデータ

設定 — 処理タイプ「条件に一致した文字を一括置換」で、次の 4 つをすべて設定します。

設定項目値
条件タイプが末尾の
文字カテゴリを指定する(検索条件の中)on → 数字
末尾文字を置換対象に含めるoff(既定の on のままだと当たりません)
文字カテゴリを指定する(検索条件の外)on → 連続する数字
置換後空

出力 — 売上 売上 合計。合計 のように末尾が数字でない列名は変わりません

注意 — 売上1 と 売上2 はどちらも 売上 になるので、同じ名前の列が 2 つ並びます。先に列選択/削除で片方を落とすか、列ごとに変更で 1 つずつ別の名前を付けてください

注意 — 「末尾の」にこだわらないなら、検索条件そのものを作らず「文字カテゴリを指定する(検索条件の外)」だけを on にして「連続する数字」にする方が簡単です。ただしこれは列名のどこにある数字も消すので、2024_売上 は _売上 になります

関連