生成AIで架空のポケモンを作るためのデータベースを作っています。データベースを作成するコードを書かせ、まともに動くコードができたところ。今回は用途に応じて修正していく。
入力:
コードにいくつか修正を加えます。
・ポケモン図鑑の説明文を、1行ごとのデータとする。id,nameは同一にしたいので、枝番を作る。
・説明文中の空白を削除しない。
・()の中にある部分はデータから除外する
例
原文:(漢字Sh) 生まれて しばらくの あいだ 背中の タネに つまった 栄養を とって 育つ。
→データ :生まれて しばらくの あいだ 背中の タネに つまった 栄養を とって 育つ。
データベース化するときに空白を含めた場合に不具合が発生するならその理由を教えてください。
出力:
以下に、指定された変更を反映したコードを示します:
- ポケモン図鑑の説明文を1行ごとのデータとするため、
id
とname
を同一にし、枝番を作成。 - 説明文中の空白を削除しない。
()
の中にある部分をデータから除外する。
修正後のコード(略)
修正点の説明
- 枝番の作成:
branch_id
変数を使用して、説明文の行ごとに一意の枝番を付けます。
- 空白の保持:
strip=True
を削除し、テキストの前後の空白を保持します。
- 括弧内の部分を除外:
re.sub(r'\(.*?\)', '', sibling.get_text())
を使用して、括弧内の部分を削除します。
こんな感じで、修正してほしい点を伝えてコードを書いてもらう。書いたコードを走らせて、さらなる修正点を見つける。バージョン名がデータベースに登録されてしまったので削除しよう。
修正点の説明
- リンク付きの行をスキップ:
sibling.find('a')
でリンク付きの行をチェックし、該当する場合はcontinue
でスキップします。
- 説明文確認用のprintをコメントアウト:
- 説明文の確認用
print
文をコメントアウトしました。
- 説明文の確認用
フシギダネのポケモン図鑑の説明文をデータベース化できたので、1025匹分データベース化しよう。
次回に続く