見出し画像

【GAS】Google Apps Script 活用事例 すっごく簡単ッ!!ひらがな化APIを使ってみた。

面倒な漢字からひらがなの変換を自動化したい

漢字の氏名を、ひらがなに変換するスクリプトを書きました。

実際に使っていますが、漢字に関しては、体感的に35%くらいの精度です。かなり主導で修正しています。自動化にならんやん….。
「のび太 → のびふと」みたいな感じで、何だよ、コレ.....www。みたいなレベルです。

ただ、Google翻訳などのように、めっちゃ学習して、どんどん精度が上がっていくのだと思うので、使い続けるうちに精度が向上する事を祈るしかなさそうです。

APIを使ったスクリプトとしては、今まで一番簡単でした。

GitHubアカウントを作成し、app_idを取得するだけです。

ひらがな化API

//漢字から平仮名を返すAPI カスタム関数化
function HIRAGANA(name) {
 const endPoint = 'https://labs.goo.ne.jp/api/hiragana';
 const payload = {                                        
   "app_id": "***************",   
   "sentence": name,                               
   "output_type": 'hiragana'
 };
 const options = {
   "method": "post",
   "payload": payload
 };
 
 const response = UrlFetchApp.fetch(endPoint, options);
 const json    = JSON.parse(response.getContentText());
 const hiragana = json.converted;
 
 console.log(json);
 console.log(hiragana);
 return hiragana
}

//起動時に管理の表の学生名に、平仮名を入力する
function convertedHiragana() {
 const spreadsheet     = SpreadsheetApp.getActiveSpreadsheet();
 const targetSheet     = spreadsheet.getSheetByName('管理表');
 const values          = targetSheet.getDataRange().getValues();
 
 const sourceColumn    = values[1].indexOf('漢字氏名');
 const convertedColumn = values[1].indexOf('カナ氏名');
 const targetColumn    = convertedColumn + 1;//setValueで書き込む用
 
 console.log(`漢字氏名 ${sourceColumn}`);
 console.log(`カナ氏名 ${convertedColumn}`);
 
 for(let i = 0; i < values.length; i++){
   if(!values[i][2]){continue}//HRMOS IDが空白だったら、スキップする。
   
   //漢字氏名が入力済みで、平仮名の列のみ空白の場合
   if(values[i][sourceColumn] !== '' && values[i][convertedColumn] === '' ){
     const kanji    = values[i][sourceColumn];
     const hiragana = HIRAGANA(kanji);
     
     console.log(`実行結果 ${hiragana}`);
     
     const row = i + 1;
     const range = targetSheet.getRange(row, targetColumn);
     console.log(range.getA1Notation());
     
     range.setValue(hiragana);
   }//if
 }//for
}//end

今回の記事では、こちらの記事を参考にしました。


この記事が参加している募集

習慣にしていること

この記事が気に入ったらサポートをしてみませんか?