データを瞬時にあらゆる形式に変換する方法を都道府県データを例に紹介(csv, テーブル, json, 配列など)

AI

データの形式変換とは

データ形式変換について

データ形式変換とは、ある形式のデータを別の形式に変換することです。例えば、CSV形式からテーブル形式に変換することで、データの扱いやすさを向上させることができます。また、JSON形式から配列形式に変換することで、プログラムで扱いやすくなります。

CSV形式は、カンマ区切りのテキスト形式で、データを表形式に表現することができます。一方、JSON形式は、データをキーと値のペアで表現する形式です。データ形式変換を行うことで、データの形式に合わせた処理がしやすくなります。

また、配列形式に変換することで、データをリスト形式で扱うことができます。配列は、複数の値を一つの変数にまとめて扱うことができるため、プログラムでの処理が簡単になります。

データ形式変換は、データの移行や解析に欠かせない重要な処理です。データ形式に応じたライブラリやツールが豊富にあり、簡単に変換できるようになっています。ただし、変換の過程でデータの損失や誤りが生じる場合があるため、適切な方法を選択する必要があります。

データ形式変換が必要なケース

通常の言語では、変換処理が用意されていることが多いです。例えば、Pythonで配列をJSONに変換するには、標準ライブラリのjsonモジュールを使用します。プログラムで読み込むことができれば、基本的にはプログラムで変換可能なケースが多いですが、変数定義時に、テーブルのデータをjsonで変数定義したいというケースがあった場合にコードで記述をするのはひと手間かかります。これをAI (chat GPT) を使って楽に変換後のコードを手に入れましょう。

データの形式変換方法

サンプルデータとして、chat GPTに以下都道府県コード、都道府県漢字、都道府県ローマ字のテーブルデータを出力してもらいます。

すべての都道府県のコード、漢字、ローマ字をテーブルで出力してください

上記をコマンドするとテーブルを出力していただきました。

都道府県コード都道府県漢字都道府県ローマ字
01北海道Hokkaido
02青森県Aomori
03岩手県Iwate
04宮城県Miyagi
05秋田県Akita
06山形県Yamagata
07福島県Fukushima
08茨城県Ibaraki
09栃木県Tochigi
10群馬県Gunma
11埼玉県Saitama
12千葉県Chiba
13東京都Tokyo
14神奈川県Kanagawa
15新潟県Niigata
16富山県Toyama
17石川県Ishikawa
18福井県Fukui
19山梨県Yamanashi
20長野県Nagano
21岐阜県Gifu
22静岡県Shizuoka
23愛知県Aichi
24三重県Mie
25滋賀県Shiga
26京都府Kyoto
27大阪府Osaka
28兵庫県Hyogo
29奈良県Nara
30和歌山県Wakayama
31鳥取県Tottori
32島根県Shimane
33岡山県Okayama
34広島県Hiroshima
35山口県Yamaguchi
36徳島県Tokushima
37香川県Kagawa
38愛媛県Ehime
39高知県Kochi
40福岡県Fukuoka
41佐賀県Saga
42長崎県Nagasaki
43熊本県Kumamoto
44大分県Oita
45宮崎県Miyazaki
46鹿児島県Kagoshima
47沖縄県Okinawa

テーブルから他形式(CSV、JSON、配列)への変換

では、CSVとして出力してもらいます。以下コマンドします。

テーブルをCSVデータとして出力してください

カンマ区切りのCSVデータで出力してもらえました、区切り文字を具体で指定するとその通りに出力してくれます。

都道府県コード,都道府県漢字,都道府県ローマ字
01,北海道,Hokkaido
02,青森県,Aomori
03,岩手県,Iwate
04,宮城県,Miyagi
05,秋田県,Akita
06,山形県,Yamagata
07,福島県,Fukushima
08,茨城県,Ibaraki
09,栃木県,Tochigi
10,群馬県,Gunma
11,埼玉県,Saitama
12,千葉県,Chiba
13,東京都,Tokyo
14,神奈川県,Kanagawa
15,新潟県,Niigata
16,富山県,Toyama
17,石川県,Ishikawa
18,福井県,Fukui
19,山梨県,Yamanashi
20,長野県,Nagano
21,岐阜県,Gifu
22,静岡県,Shizuoka
23,愛知県,Aichi
24,三重県,Mie
25,滋賀県,Shiga
26,京都府,Kyoto
27,大阪府,Osaka
28,兵庫県,Hyogo
29,奈良県,Nara
30,和歌山県,Wakayama
31,鳥取県,Tottori
32,島根県,Shimane
33,岡山県,Okayama
34,広島県,Hiroshima
35,山口県,Yamaguchi
36,徳島県,Tokushima
37,香川県,Kagawa
38,愛媛県,Ehime
39,高知県,Kochi
40,福岡県,Fukuoka
41,佐賀県,Saga
42,長崎県,Nagasaki
43,熊本県,Kumamoto
44,大分県,Oita
45,宮崎県,Miyazaki
46,鹿児島県,Kagoshima
47,沖縄県,Okinawa

つづいて、JSON形式で出力してもらいます。

上記テーブルの都道府県コードをkeyとして漢字とローマ字のペアでjson形式で出力してください。
{
    "01": {
        "kanji": "北海道",
        "romaji": "Hokkaido"
    },
    "02": {
        "kanji": "青森県",
        "romaji": "Aomori"
    },
    "03": {
        "kanji": "岩手県",
        "romaji": "Iwate"
    },
    "04": {
        "kanji": "宮城県",
        "romaji": "Miyagi"
    },
    "05": {
        "kanji": "秋田県",
        "romaji": "Akita"
    },
    "06": {
        "kanji": "山形県",
        "romaji": "Yamagata"
    },
    "07": {
        "kanji": "福島県",
        "romaji": "Fukushima"
    },
    "08": {
        "kanji": "茨城県",
        "romaji": "Ibaraki"
    },
    "09": {
        "kanji": "栃木県",
        "romaji": "Tochigi"
    },
    "10": {
        "kanji": "群馬県",
        "romaji": "Gunma"
    },
    "11": {
        "kanji": "埼玉県",
        "romaji": "Saitama"
    },
    "12": {
        "kanji": "千葉県",
        "romaji": "Chiba"
    },
    "13": {
        "kanji": "東京都",
        "romaji": "Tokyo"
    },
    "14": {
        "kanji": "神奈川県",
        "romaji": "Kanagawa"
    },
    "15": {
        "kanji": "新潟県",
        "romaji": "Niigata"
    },
    "16": {
        "kanji": "富山県",
        "romaji": "Toyama"
    },
    "17": {
        "kanji": "石川県",
        "romaji": "Ishikawa"
    },
    "18": {
        "kanji": "福井県",
        "romaji": "Fukui"
    },
    "19": {
        "kanji": "山梨県",
        "romaji": "Yamanashi"
    },
    "20": {
        "kanji": "長野県",
        "romaji": "Nagano"
    },
    "21": {
        "kanji": "岐阜県",
        "romaji": "Gifu"
    },
    "22": {
        "kanji": "静岡県",
        "romaji": "Shizuoka"
    },
    "23": {
        "kanji": "愛知県",
        "romaji": "Aichi"
    },
    "24": {
        "kanji": "三重県",
        "romaji": "Mie"
    },
    "25": {
        "kanji": "滋賀県",
        "romaji": "Shiga"
    },
    "26": {
        "kanji": "京都府",
        "Kyoto": "Kyoto"
    },
    "27": {
        "kanji": "大阪府",
        "romaji": "Osaka"
    },
    "28": {
        "kanji": "兵庫県",
        "romaji": "Hyogo"
    },
    "29": {
        "kanji": "奈良県",
        "romaji": "Nara"
    },
    "30": {
        "kanji": "和歌山県",
        "romaji": "Wakayama"
    },
    "31": {
        "kanji": "鳥取県",
        "romaji": "Tottori"
    },
    "32": {
        "kanji": "島根県",
        "romaji": "Shimane"
    },
    "33": {
        "kanji": "岡山県",
        "romaji": "Okayama"
    },
    "34": {
        "kanji": "広島県",
        "romaji": "Hiroshima"
    },
    "35": {
        "kanji": "山口県",
        "romaji": "Yamaguchi"
    },
    "36": {
        "kanji": "徳島県",
        "romaji": "Tokushima"
    },
    "37": {
        "kanji": "香川県",
        "romaji": "Kagawa"
    },
    "38": {
        "kanji": "愛媛県",
        "romaji": "Ehime"
    },
    "39": {
        "kanji": "高知県",
        "romaji": "Kochi"
    },
    "40": {
        "kanji": "福岡県",
        "romaji": "Fukuoka"
    },
    "41": {
        "kanji": "佐賀県",
        "romaji": "Saga"
    },
    "42": {
        "kanji": "長崎県",
        "romaji": "Nagasaki"
    },
    "43": {
        "kanji": "熊本県",
        "romaji": "Kumamoto"
    },
    "44": {
        "kanji": "大分県",
        "romaji": "Oita"
    },
    "45": {
        "kanji": "宮崎県",
        "romaji": "Miyazaki"
    },
    "46": {
        "kanji": "鹿児島県",
        "romaji": "Kagoshima"
    },
    "47": {
        "kanji": "沖縄県",
        "romaji": "Okinawa"
}

途中で出力が切れてしまいましたが、「続きを出力してください」等のコマンドを打てば続きを出してくれます。(上記は続き分も入れています)

続いて、配列を出力してもらいます。今回は各都道府県単位を一つにまとめた2次元の配列として出力してもらいます。

上記テーブルを都道府県毎にまとめた2次元配列で出力してください

言語指定はしていないですが、Pythonで出力してくれました。

data = [
    ["01", "北海道", "Hokkaido"],
    ["02", "青森県", "Aomori"],
    ["03", "岩手県", "Iwate"],
    ["04", "宮城県", "Miyagi"],
    ["05", "秋田県", "Akita"],
    ["06", "山形県", "Yamagata"],
    ["07", "福島県", "Fukushima"],
    ["08", "茨城県", "Ibaraki"],
    ["09", "栃木県", "Tochigi"],
    ["10", "群馬県", "Gunma"],
    ["11", "埼玉県", "Saitama"],
    ["12", "千葉県", "Chiba"],
    ["13", "東京都", "Tokyo"],
    ["14", "神奈川県", "Kanagawa"],
    ["15", "新潟県", "Niigata"],
    ["16", "富山県", "Toyama"],
    ["17", "石川県", "Ishikawa"],
    ["18", "福井県", "Fukui"],
    ["19", "山梨県", "Yamanashi"],
    ["20", "長野県", "Nagano"],
    ["21", "岐阜県", "Gifu"],
    ["22", "静岡県", "Shizuoka"],
    ["23", "愛知県", "Aichi"],
    ["24", "三重県", "Mie"],
    ["25", "滋賀県", "Shiga"],
    ["26", "京都府", "Kyoto"],
    ["27", "大阪府", "Osaka"],
    ["28", "兵庫県", "Hyogo"],
    ["29", "奈良県", "Nara"],
    ["30", "和歌山県", "Wakayama"],
    ["31", "鳥取県", "Tottori"],
    ["32", "島根県", "Shimane"],
    ["33", "岡山県", "Okayama"],
    ["34", "広島県", "Hiroshima"],
    ["35", "山口県", "Yamaguchi"],
    ["36", "徳島県", "Tokushima"],
    ["37", "香川県", "Kagawa"],
    ["38", "愛媛県", "Ehime"],
    ["39", "高知県", "Kochi"],
    ["40", "福岡県", "Fukuoka"],
    ["41", "佐賀県", "Saga"],
    ["42", "長崎県", "Nagasaki"],
    ["43", "熊本県", "Kumamoto"],
    ["44", "大分県", "Oita"],
    ["45", "宮崎県", "Miyazaki"],
  ["46", "鹿児島県", "Kagoshima"],
  ["47", "沖縄県", "Okinawa"]
]

出力結果が途中で途切れるケースが少し煩わしいので、本やり方の場合は大きいデータには向かないですね。(chat GPTを使ったサービス等で制限なく出力可能なものもありそうです)

ChatGPTは1回の応答で最大2048文字までのテキストを出力することができますが、出力されるデータ量については、文字数だけでなく、テキストの形式や内容によっても異なるようです。

すべての都道府県のコード、漢字、ローマ字をテーブルで出力してください

他形式から別形式への変換

基本的にはAIに指示するだけでうまく変換してくれるので、説明を省略します。

まとめ

データのフォーマット変換のような構造化されたデータの識別・処理能力は非常に高いですね。実務等で軽めのデータを素早く変換するならchatGPTは非常に有用です。

コメント

タイトルとURLをコピーしました