いろんな方法で文字列結合【VSCode・エクセル・生成AI・Python】
概要
文字列の結合(連結)は、作業を効率化するうえで非常に便利な操作です。
たとえば以下のような場面で役立ちます。
- メールで使用するための氏名を一括で生成する
- テスト用の大量のURLを作成し、それらすべての動作確認を行う
現在では、さまざまなツールで文字列の結合が可能です。
この記事では、それぞれのツールで「氏名の結合」を試し、使ってみた感想を記載しています。
氏名のサンプルデータ
氏 | 名 |
---|---|
龍野 | 薩摩 |
八雲 | すずか |
竜崎 | 凪人 |
風見 | あおい |
闇田海 | 幻夜 |
GPTに現実上存在しない氏名を生成してもらいました。
現在は「氏」と「名」のデータのみを保持しているため、各ツールで氏名を生成してみます。
各ツールでの操作
エクセルで文字列結合
- サンプルデータをコピーしてエクセルに貼り付け
- 氏と名を連結する式を入力する
- 同じ式をコピーして貼り付けすれば、氏名が生成できました
思ったこと
エクセルは最大約104万行まで対応可能です。それを超えると1シートでは対応できませんが、実際の業務でそのような規模のデータを扱うことは稀であり、実用上の制限はほとんど感じませんでした。
VSCodeで文字列結合(マルチカーソル)
- サンプルデータをコピーしてVSCodeに貼り付け
- 氏の用意
- マルチカーソルを各行に展開(Alt+Ctrl+↓ or Alt+Shift+クリック)
- 氏の末尾へマルチカーソルを移動(Shift+End or Shift+Ctrl+Fn+→)
※この操作で欲しい範囲だけ選択できる!!
- 氏をコピーして別ファイルに貼り付け
- マルチカーソルを各行に展開(Alt+Ctrl+↓ or Alt+Shift+クリック)
- 名の用意
- 氏と同様にマルチカーソルを展開して名前をコピー
- 氏と同様にマルチカーソルを展開して名前をコピー
- 氏と名の結合
5. 氏にマルチカーソルを展開
5. 氏の後ろにマルチカーソルを移動(End or Ctrl+Fn+→)
7. コピーした名を貼り付け
思ったこと
今回のように「氏名がすでに1行に並んでいる」ケースでは、置換操作でも対応可能です。
結合というよりは整形に近い作業ですが、マルチカーソルよりよく使います。
VSCodeで文字列結合(置換)
- サンプルデータをコピーしてVSCodeに貼り付け
- 不要文字を検索(Ctrl+F)
- 無で置き換え
思ったこと
文字列結合とは違う操作ですが、今回はすでに一行の中に苗字と名前があったため、置換でも対応できます。
生成AI(ChatGPT)で文字列結合(チャット)
- サンプルデータをコピーしてGPTのチャットに貼り付けすれば、氏名が生成できました
思ったこと
シンプルなチャットでは約1000行程度まで処理可能でしたが、出力に時間がかかる点や、入力制限(トークン数)に注意が必要です。大量のデータには不向きと感じました。
生成AI(ChatGPT)で文字列結合(ファイル)
- サンプルデータ(ファイル)をコピーしてGPTのチャットに貼り付け
- 生成されたファイルをダウンロードすれば、氏名の生成を確認できました
※生成AIには不向きだと思っていた大量データ処理が可能になっている!!
思ったこと
データをファイルで送受信する場合、50000行のデータでも対応できました。生成AIにデータ処理をさせる場合はファイルで扱うと良さそうです。
Pythonで文字列結合
- サンプルデータをコピーしてスクリプトに貼り付け
- スクリプトを記載して実行
思ったこと
複雑な処理を行いたい場合は、Pythonなどのスクリプトが最も柔軟です。
また、スクリプトそのものも生成AIを活用して作成できるため、作業効率の向上が期待できます。
作業を通じて得た学び
今回、さまざまなツールを使って、文字列の結合を行ってみました。
VSCodeのマルチカーソルでは、最初不要な部分も選択して操作する方法を記載していたのですが、調べて「必要な範囲だけを選択」できる便利な方法があることが分かり、実施手順を差し替えました。
また、生成AIは、大量のデータの処理には不向きだと思っていましたが、ファイル送信機能を使えば十分に対応可能になっていました。(生成AIはデータ処理時にスクリプトを動かすように変わったのかな?と聞いたらそうだと答えました)
以上、参考になれば幸いです。
Discussion