ChatGPTでテストデータを生成する

みなさんこんにちは、Crossinのプログラミング教室へようこそ!

ChatGPT を使用したデータ取得プログラムの作成に関する前回の記事では 、ChatGPT を使用してコードの作成を支援する方法を説明しました。

ChatGPT にコードを直接記述させるだけでなく、開発で使用するテスト データを生成させることもできます。

たとえば、JSON 形式のデータは、開発およびテスト中によく使用されます。

4c1c1d57b5322d7ee0ed0dff58e90f6a.png

[
  {
    "id": 1,
    "name": "John Smith",
    "age": 28,
    "gender": "male",
    "email": "[email protected]",
    "address": "123 Main Street, City",
    "phone": "123-456-7890"
  },
  {
    "id": 2,
    "name": "Jane Doe",
    "age": 32,
    "gender": "female",
    "email": "[email protected]",
    "address": "456 Oak Avenue, Town",
    "phone": "987-654-3210"
  },
  {
    "id": 3,
    "name": "David Johnson",
    "age": 45,
    "gender": "male",
    "email": "[email protected]",
    "address": "789 Elm Street, Village",
    "phone": "555-123-4567"
  },
  {
    "id": 4,
    "name": "Emily Williams",
    "age": 21,
    "gender": "female",
    "email": "[email protected]",
    "address": "321 Pine Avenue, Town",
    "phone": "777-888-9999"
  }
]

データの内容や構造に満足できない場合は、繰り返しデータを含むフィールドを追加するなど、さらに変更を加えるよう ChatGPT に依頼できます。

2e3c2a60be31eceb586bdb7919a2d500.png

[
  {
    "id": 1,
    "name": "John Smith",
    "age": 28,
    "gender": "male",
    "email": "[email protected]",
    "address": "123 Main Street, City",
    "phone": "123-456-7890",
    "occupation": "engineer"
  },
  {
    "id": 2,
    "name": "Jane Doe",
    "age": 32,
    "gender": "female",
    "email": "[email protected]",
    "address": "456 Oak Avenue, Town",
    "phone": "987-654-3210",
    "occupation": "doctor"
  },
  {
    "id": 3,
    "name": "David Johnson",
    "age": 45,
    "gender": "male",
    "email": "[email protected]",
    "address": "789 Elm Street, Village",
    "phone": "555-123-4567",
    "occupation": "teacher"
  },
  {
    "id": 4,
    "name": "Emily Williams",
    "age": 21,
    "gender": "female",
    "email": "[email protected]",
    "address": "321 Pine Avenue, Town",
    "phone": "777-888-9999",
    "occupation": "engineer"
  }
]

データの形式も、JSON から XML に変更するなど、簡単に調整できます。

51f14abc871d74289f96fadfcc9693f0.png

<users>
  <user>
    <id>1</id>
    <name>John Smith</name>
    <age>28</age>
    <gender>male</gender>
    <email>[email protected]</email>
    <address>123 Main Street, City</address>
    <phone>123-456-7890</phone>
    <occupation>engineer</occupation>
  </user>
  <user>
    <id>2</id>
    <name>Jane Doe</name>
    <age>32</age>
    <gender>female</gender>
    <email>[email protected]</email>
    <address>456 Oak Avenue, Town</address>
    <phone>987-654-3210</phone>
    <occupation>doctor</occupation>
  </user>
  <user>
    <id>3</id>
    <name>David Johnson</name>
    <age>45</age>
    <gender>male</gender>
    <email>[email protected]</email>
    <address>789 Elm Street, Village</address>
    <phone>555-123-4567</phone>
    <occupation>teacher</occupation>
  </user>
  <user>
    <id>4</id>
    <name>Emily Williams</name>
    <age>21</age>
    <gender>female</gender>
    <email>[email protected]</email>
    <address>321 Pine Avenue, Town</address>
    <phone>777-888-9999</phone>
    <occupation>engineer</occupation>
  </user>
</users>

学生の中には、faker モジュールを使用して生成できる、と言いたい人もいます。

はい、しかし、結局のところ自分でコードを書く必要があり、時々調整する必要があるかもしれません。ChatGPT の助けを借りて、数秒でデータを出力できるようになりました。より簡単ではないでしょうか。

もちろん、次のように 2 つを組み合わせることもできます。

5d24c5b6c00c209cd9293649ff84c8e2.png

import random
from faker import Faker
import json


faker = Faker()


def generate_user_data(num_users):
    users = []
    for _ in range(num_users):
        user = {
            "id": faker.random_number(digits=4),
            "name": faker.name(),
            "age": random.randint(18, 60),
            "gender": random.choice(["male", "female"]),
            "email": faker.email(),
            "address": faker.address(),
            "phone": faker.phone_number()
        }
        users.append(user)
    return users


num_users = 4
user_data = generate_user_data(num_users)


json_data = json.dumps(user_data, indent=4)
print(json_data)

以前は、開発において同様のテストデータが必要な場合、手作業で作成するのは非常に時間がかかり非効率的でした。現在、同様のプログラミング支援タスクの多くを ChatGPT で処理できるため、開発者はより重要なことに時間を費やすことができます。


上記の内容は、Crossin の新刊『Action on Code: Zero-Basic Learning of PYTHON Programming (CHATGPT Edition)』からの抜粋です。

本書は、プログラミング経験がまったくないゼロベースの「初心者」でもPythonを学べるよう、分かりやすさを心がけています。内容は、環境構築の最も基本的な手順から始まり、徐々に一般的な実践的なアプリケーションに深く入っていきます。知識のポイントを解説しながら、対応するコード例も掲載しているので、学習・実践して理解を深めることができます。

この本では、Python 環境の構築、基本的な文法、一般的なデータ型、実践的なモジュール、正規表現、オブジェクト指向プログラミング、マルチタスク プログラミング、その他の知識ポイントをカバーしています。さらに、クローラー、GUI、ゲームの 3 つの実践的なプロジェクトが提供されます。

この本ではまた、プログラミング学習の補助として ChatGPT を革新的に使用しており、読者が AI 時代のプログラミング学習の新しいモードを模索するように導きます。

f96815a4d140b2d2805018c5226df465.jpeg

リツイートいいねありがとうございます

おすすめ

転載: blog.csdn.net/qq_40523737/article/details/131137138