ChatGPTの活用

上段:カテゴリ 中段:投稿日 下段:サブテーマ ブログナンバー:173  
     ネットワークトラブル (19)
11月6日(木)
漢字のよみで昇順並べ替え #漢字
 テーブルデータの項目が漢字の場合,その読みの昇順で並べるには”ふりがな”の列を作らなくてはならない。多数ある場合は大変だ。これをChatGPTにまかせて自分は楽をしよう。その方法をここに記しておく。
  データファイル'file.dat'に以下の書式で記録されているとする。
この5行6列のテーブルを5行7列に変換して2列目に著者のふり仮名を入れること
をChatGPTに依頼する
葉室麟 1951(-2017) 北九州市 不明 2005 乾山晩愁
井上靖 1907(-1991) 旭川市 不明 1950 闘牛
司馬遼太郎 1923(-1996) 大阪市 大坂外語学校蒙古語 1960 梟の城
池波正太郎 1923(-1990) 浅草 下谷の西町小学校 1955 劇作『名寄岩』
有吉佐和子 1931(-1984) 和歌山市 真砂丁 東京女子大学短期大学部英語学科 1954 落陽の賦

 ChatGPTを立ち上げ,「お手伝いできることはありますか?」を確認する。
その下のフォーム「ChatGPTにメッセージを送信する」に予め用意した用件とデータの一覧を貼り付ける。
ここが重要。貼り付けてから編集などしてはいけない。改行のつもりでENTERキーを押すとその時点で送信されてしまうからである。

用件は「以下のテーブルデータを1列追加して,1列目のふりがなを2列目に挿入してください」と書いたもの

  そして,準備ができたら以下のようにフォームに貼り付ける
以下のテーブルデータを1列追加して,1列目のふりがなを2列目に挿入してください
葉室麟 1951(-2017) 北九州市 不明 2005 乾山晩愁
井上靖 1907(-1991) 旭川市 不明 1950 闘牛
司馬遼太郎 1923(-1996) 大阪市 大坂外語学校蒙古語 1960 梟の城
池波正太郎 1923(-1990) 浅草 下谷の西町小学校 1955 劇作『名寄岩』
有吉佐和子 1931(-1984) 和歌山市 真砂丁 東京女子大学短期大学部英語学科 1954 落陽の賦
 

フォーム内でENTERキーを押すと以下のように結果が表形式(項目名と罫線を入れて)で表示される

 

名前 ふりがな 生年 出身地 学歴 デビュー年 代表作
葉室麟 はむろ りん 1951(-2017) 北九州市 不明 2005 乾山晩愁
井上靖 いのうえ やすし 1907(-1991) 旭川市 不明 1950 闘牛
司馬遼太郎 しば りょうたろう 1923(-1996) 大阪市 大坂外語学校蒙古語 1960 梟の城
池波正太郎 いけなみ しょうたろう 1923(-1990) 浅草 下谷の西町小学校 1955 劇作『名寄岩』
有吉佐和子 ありよし さわこ 1931(-1984) 和歌山市 真砂丁 東京女子大学短期大学部英語学科 1954 落陽の賦

これをコピーして使用する。ただし,20行を超えるデータのときは中断して「この形式で他のデータも続けることが可能です。必要に応じてお知らせください。」と表の下にメッセージが出るから,フォームから「この形式を続けてください」と送信する。以上です。どんな用件でも正しい日本語で送信すれば応えてくれます

コメント ( 0 ) | Trackback ( 0 )

perlの活用(データの記録)

上段:カテゴリ 中段:投稿日 下段:サブテーマ ブログナンバー:172  
     ネットワークトラブル (18)
01月15日(月)
配列の並べ替えからテーブルの並べ替えに #perl
 連想配列のsortの方法はWebの各講座の中で説明されている。しかし実用ではExcelのようにテーブルの行単位にsortしなければならない。私は以下のような死亡データを新聞記事などから収集して毎日記録しているが、新聞記事だから日付が前後することがある。これを日付順に並べ替えるにはどうするか。その方法をここに記しておく。
  データファイル'file.dat'に以下の書式で記録されているとする。
1.30,山田芳雄,山田書店会長,老衰,自宅,妻,88
1.28,鈴木和夫,元K社社長,腎細胞がん,病院,妻,80
2.1,田中俊夫,被災者の会所属,肺炎,病院,妻,83
2.10,丸山まるお,小説家,大腸がん,病院,長男,77
2.8,トムアトム,歌手,膀胱がん,自宅,不明,84

 perlスクリプトはデータの読み込みから始まる。
#---------------------------------

open(IN,"<./file.dat");
@www = ;
close (IN);
foreach $key(@www){
@w1=split(',',$key);#項目を配列に入れる
@w2=split('\.',$w1[0]);#日付を月と日に分ける
#日付を元日からの経過日数に変える
$w3=($w2[0]-1)*31+$w2[1];
$w4{$key}=$w3;#-----------①  次に説明
}

# 連想配列を数値(value)で昇順に並べ替える
@w5=sort{$w4{$a}<=>$w4{$b}} keys %w4;
#------------------------------------------

   ①の説明
連想配列%w4は次のように作成される
%w4=('1.30,山田芳雄,山田書店会長,老衰,自宅,妻,88'=>61,
'1.28,鈴木和夫,元K社社長,腎細胞がん,病院,妻,80'=>59,
'2.1,田中俊夫,被災者の会所属,肺炎,病院,妻,83'=>63,
'2.10,丸山まるお,小説家,大腸がん,病院,長男,77'=>72,
'2.8,トムアトム,歌手,膀胱がん,自宅,不明,84'=>70);

これを受けて,%w4をvalue の大きさで昇順に並べ変えると
keyがvalueと一緒に並べ変わる。

この後は配列@w5がkeyの集合になっているからそのままkey
を表示すれば日付順に次のように並んでいる。もしも何も表示されないときは,データファイルを開いて,1行の項目の数とコンマの有無の確認をしてください。

1.28,鈴木和夫,元K社社長,腎細胞がん,病院,妻,80
1.30,山田芳雄,山田書店会長,老衰,自宅,妻,88
2.1,田中俊夫,被災者の会所属,肺炎,病院,妻,83
2.8,トムアトム,歌手,膀胱がん,自宅,不明,84
2.10,丸山まるお,小説家,大腸がん,病院,長男,77

昔取った杵柄perlを活用して,現在(2024年06月)は,

                         サッカーチーム   FC岐阜

をより深く知るための動画ならぬ動具を作って楽しんでます。

公開ページは,http://cs-gifu.que.jp/  だ。一度訪ねてくれ。
                   コンテンツ作成同好会ホームページ

 

コメント ( 0 ) | Trackback ( 0 )