ブクログのエクスポート機能で出力されたCSVファイルから特定期間に読了した本のMarkdownテーブルを出力する

  • このエントリーをはてなブックマークに追加

タイトル通り。

今日書いたエントリーで使った様なテーブルをブクログのエクスポート機能で得られるCSVファイルからGoogle App Script で作成する方法。
実行するとシートの末尾にMarkdownが出力される。

function generateMarkdownTable() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var markdown = "| タイトル | 作者名 | 出版社名 |\n| --- | --- | --- |\n";

  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    var completionDate = new Date(row[10]); // 読了日の列インデックスを仮定(例:11列目)
    var startDate = new Date("2023/01/01");
    var endDate = new Date("2023/12/31");
    var itemID = row[1]; // アイテムIDの列インデックスを仮定(例:2列目)

    if (completionDate >= startDate && completionDate <= endDate) {
      var title = row[11]; // タイトルの列インデックスを仮定(例:12列目)
      var author = row[12]; // 作者名の列インデックスを仮定(例:13列目)
      var publisher = row[13]; // 出版社名の列インデックスを仮定(例:14列目)
      var titleLink = "https://www.amazon.co.jp/dp/" + itemID;

      markdown += "| [" + title + "](" + titleLink + ") | " + author + " | " + publisher + " |\n";
    }
  }

  // 最後の行にMarkdownテーブルを追加
  var lastRow = sheet.getLastRow();
  sheet.getRange(lastRow + 1, 1).setValue(markdown);
}
(Visited 5 times, 1 visits today)
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*