【NTTジャパンラグビー リーグワン2022-23】googleカレンダーにcsvファイルで予定を登録

## 概要
NTTジャパンラグビーラグビー リーグワン2022-23シーズンのスケジュールをgoogleカレンダーに一括登録するためのcsvファイルを生成するpythonコードと、csvファイルで予定をインポートする方法についてです。

基本的にはgoogleカレンダーにリーグワンの試合予定を登録する目的で作成したコードなので、技術的に目新しい内容はありません。。。。

使い方の説明にある[https://calendar.google.com/calendar...](https://calendar.google.com)をクリックしてgoogleカレンダーのスマホアプリが立ち上がる場合、リンクの長押しなどでWEBブラウザでリンク先を表示するとスマホでも登録できるはずです。

## 使い方
1. 新しいカレンダーを作成する（任意）
    - https://calendar.google.com/calendar/u/0/r/settings/createcalendar?pli=1
    - 「リーグワン」やチーム名のカレンダーを作成して追加すると、一括で色の設定、表示／非表示、削除などができるのでお勧め

2. csvファイルをPCにダウンロードする
    - リーグワン
        - [DIVISION 1](https://raw.githubusercontent.com/vyeah321/league_one/main/%E3%83%AA%E3%83%BC%E3%82%B0%E3%83%AF%E3%83%B3D1.csv)
    - チーム別（随時追加予定）
        - [横浜キヤノンイーグルス](https://raw.githubusercontent.com/vyeah321/league_one/main/%E6%A8%AA%E6%B5%9C%E3%82%AD%E3%83%A4%E3%83%8E%E3%83%B3%E3%82%A4%E3%83%BC%E3%82%B0%E3%83%AB%E3%82%B9.csv)

3. Googleカレンダーに予定を読み込む
    - https://calendar.google.com/calendar/u/0/r/settings/export?pli=1
    - 「パソコンからファイルを選択」でダウンロードしたcsvファイルを選択
    - 「カレンダーに追加」で追加するカレンダーを選択
    - 「インポート」ボタンを押下

## 実装
### コード
- is_team = Falseにすると、Division1の全ての試合のスケジュールのcsvファイルが生成されます。
- is_team = Trueにしてteamに自分が好きなチーム名を設定すると、そのチームだけのスケジュールをフィルタリングします。
- 22年 or 23年の判定はシーズンが22年12月〜23年4月の前提で、日付の２文字目が'2'（12月の2）の場合には22年と判定

```python:league_one_schedule.py
import datetime

is_team = True
league_one = 'リーグワンD1'
team = '横浜キヤノンイーグルス'
file = team if is_team else league_one
csv_file = open(file + '.csv', 'w')
data_file = open('LEAGUE_ONE_DIVISION1.txt', 'r')

datalist = data_file.readlines()

csv_file.write('Start date,Subject,Location\n')
for data in datalist:
    if data[0].isdigit():
        game = data.split()
        if game[3] != team and game[5] != team and is_team:
            continue
        year = '2022年' if game[0][1] == '2' else '2023年'
        date_str = year + game[0]
        date_format = '%Y年%m⽉%d⽇'
        date_dt = datetime.datetime.strptime(date_str, date_format)
        date = date_dt.strftime('%x')
        schedule = '{},{} {} {},{}\n'.format(date, game[3], game[4], game[5], game[7])
        print(date_dt, schedule)
        csv_file.write(schedule)

data_file.close()
csv_file.close()
```
### データ
- 元のデータは[こちら](https://league-one.s3.ap-northeast-1.amazonaws.com/file/article/3325_6323fe43bd28e.pdf)のpdfファイルを全コピペ＆自力で改行したデータ


```text:LEAGUE_ONE_DIVISION1.txt
DIVISION 1
節 ⽇程 カンファレンス 対戦カード 開催都道府県 会場
第1節
12⽉17⽇ ⼟ A 埼⽟ワイルドナイツ v 東芝ブレイブルーパス東京 埼⽟ 熊⾕
12⽉17⽇ ⼟ A トヨタヴェルブリッツ v 静岡ブルーレヴズ 愛知 豊⽥ス
12⽉17⽇ ⼟ A ブラックラムズ東京 v 三菱重⼯相模原ダイナボアーズ 東京 秩⽗宮
12⽉18⽇ ⽇ B 東京サンゴリアス v クボタスピアーズ船橋・東京ベイ 東京 味スタ
12⽉18⽇ ⽇ B 横浜キヤノンイーグルス v コベルコ神⼾スティーラーズ 神奈川 ニッパツ
12⽉18⽇ ⽇ B グリーンロケッツ東葛 v 花園近鉄ライナーズ 千葉 柏の葉
第2節
12⽉24⽇ ⼟ A 東芝ブレイブルーパス東京 v ブラックラムズ東京 東京 味スタ
12⽉24⽇ ⼟ B コベルコ神⼾スティーラーズ v 花園近鉄ライナーズ 兵庫 ユニバ
12⽉25⽇ ⽇ A 静岡ブルーレヴズ v 埼⽟ワイルドナイツ 静岡 ヤマハ
12⽉25⽇ ⽇ A 三菱重⼯相模原ダイナボアーズ v トヨタヴェルブリッツ 神奈川 ギオンス
12⽉25⽇ ⽇ B 横浜キヤノンイーグルス v クボタスピアーズ船橋・東京ベイ ⼤分 昭和電ド
12⽉25⽇ ⽇ B 東京サンゴリアス v グリーンロケッツ東葛 東京 味スタ
第3節
1⽉7⽇ ⼟ A 東芝ブレイブルーパス東京 v 静岡ブルーレヴズ 神奈川 等々⼒
1⽉7⽇ ⼟ A 埼⽟ワイルドナイツ v 三菱重⼯相模原ダイナボアーズ 埼⽟ 熊⾕
1⽉7⽇ ⼟ B 東京サンゴリアス v 横浜キヤノンイーグルス 東京 味スタ
1⽉8⽇ ⽇ A トヨタヴェルブリッツ v ブラックラムズ東京 愛知 豊⽥ス
1⽉8⽇ ⽇ B グリーンロケッツ東葛 v コベルコ神⼾スティーラーズ 千葉 柏の葉
1⽉8⽇ ⽇ B 花園近鉄ライナーズ v クボタスピアーズ船橋・東京ベイ ⼤阪 花園
第4節
1⽉14⽇ ⼟ A 三菱重⼯相模原ダイナボアーズ v 東芝ブレイブルーパス東京 東京 秩⽗宮
1⽉14⽇ ⼟ B クボタスピアーズ船橋・東京ベイ v グリーンロケッツ東葛 東京 江⼾川
1⽉14⽇ ⼟ B コベルコ神⼾スティーラーズ v 東京サンゴリアス 兵庫 ノエスタ
1⽉14⽇ ⼟ B 花園近鉄ライナーズ v 横浜キヤノンイーグルス ⼤阪 花園
1⽉15⽇ ⽇ A 静岡ブルーレヴズ v ブラックラムズ東京 静岡 ヤマハ
1⽉15⽇ ⽇ A 埼⽟ワイルドナイツ v トヨタヴェルブリッツ 埼⽟ 熊⾕
第5節
1⽉21⽇ ⼟ A ブラックラムズ東京 v 埼⽟ワイルドナイツ 東京 駒沢
1⽉21⽇ ⼟ B 横浜キヤノンイーグルス v グリーンロケッツ東葛 神奈川 ニッパツ
1⽉21⽇ ⼟ B クボタスピアーズ船橋・東京ベイ v コベルコ神⼾スティーラーズ 東京 江⼾川
1⽉22⽇ ⽇ A 東芝ブレイブルーパス東京 v トヨタヴェルブリッツ 東京 秩⽗宮
1⽉22⽇ ⽇ B 花園近鉄ライナーズ v 東京サンゴリアス ⼤阪 花園
1⽉22⽇ ⽇ A 三菱重⼯相模原ダイナボアーズ v 静岡ブルーレヴズ 神奈川 ギオンス
第6節
1⽉28⽇ ⼟ 交流 埼⽟ワイルドナイツ v 横浜キヤノンイーグルス 埼⽟ 熊⾕
1⽉28⽇ ⼟ 交流 コベルコ神⼾スティーラーズ v トヨタヴェルブリッツ 兵庫 ユニバ
1⽉28⽇ ⼟ 交流 東芝ブレイブルーパス東京 v 花園近鉄ライナーズ 東京 秩⽗宮
1⽉29⽇ ⽇ 交流 東京サンゴリアス v 三菱重⼯相模原ダイナボアーズ 東京 秩⽗宮
1⽉29⽇ ⽇ 交流 クボタスピアーズ船橋・東京ベイ v ブラックラムズ東京 東京 江⼾川
1⽉29⽇ ⽇ 交流 静岡ブルーレヴズ v グリーンロケッツ東葛 静岡 ヤマハ
DIVISION 1
節 ⽇程 カンファレンス 対戦カード 開催都道府県 会場
第7節
2⽉4⽇ ⼟ 交流 横浜キヤノンイーグルス v ブラックラムズ東京 神奈川 ニッパツ
2⽉4⽇ ⼟ 交流 トヨタヴェルブリッツ v クボタスピアーズ船橋・東京ベイ 愛知 パロ瑞穂ラ
2⽉5⽇ ⽇ 交流 三菱重⼯相模原ダイナボアーズ v コベルコ神⼾スティーラーズ 神奈川 ギオンス
2⽉5⽇ ⽇ 交流 グリーンロケッツ東葛 v 埼⽟ワイルドナイツ 千葉 柏の葉
2⽉5⽇ ⽇ 交流 東芝ブレイブルーパス東京 v 東京サンゴリアス 東京 秩⽗宮
2⽉5⽇ ⽇ 交流 花園近鉄ライナーズ v 静岡ブルーレヴズ ⼤阪 花園
第8節
2⽉18⽇ ⼟ 交流 埼⽟ワイルドナイツ v 花園近鉄ライナーズ 埼⽟ 熊⾕
2⽉18⽇ ⼟ 交流 横浜キヤノンイーグルス v 東芝ブレイブルーパス東京 ⼤分 昭和電ド
2⽉18⽇ ⼟ 交流 トヨタヴェルブリッツ v グリーンロケッツ東葛 愛知 愛知県内
2⽉18⽇ ⼟ 交流 ブラックラムズ東京 v 東京サンゴリアス 東京 駒沢
2⽉19⽇ ⽇ 交流 コベルコ神⼾スティーラーズ v 静岡ブルーレヴズ 兵庫 ユニバ
2⽉19⽇ ⽇ 交流 クボタスピアーズ船橋・東京ベイ v 三菱重⼯相模原ダイナボアーズ 東京 江⼾川
第9節
2⽉25⽇ ⼟ 交流 ブラックラムズ東京 v 花園近鉄ライナーズ 東京 駒沢
2⽉25⽇ ⼟ 交流 クボタスピアーズ船橋・東京ベイ v 東芝ブレイブルーパス東京 東京 江⼾川
2⽉25⽇ ⼟ 交流 トヨタヴェルブリッツ v 横浜キヤノンイーグルス 愛知 愛知県内
2⽉25⽇ ⼟ 交流 静岡ブルーレヴズ v 東京サンゴリアス 静岡 静岡県内
2⽉26⽇ ⽇ 交流 コベルコ神⼾スティーラーズ v 埼⽟ワイルドナイツ 兵庫 ユニバ
2⽉26⽇ ⽇ 交流 三菱重⼯相模原ダイナボアーズ v グリーンロケッツ東葛 東京 秩⽗宮
第10節
3⽉3⽇ ⾦ 交流 横浜キヤノンイーグルス v 静岡ブルーレヴズ 東京 秩⽗宮
3⽉4⽇ ⼟ 交流 東芝ブレイブルーパス東京 v コベルコ神⼾スティーラーズ 東京 秩⽗宮
3⽉4⽇ ⼟ 交流 グリーンロケッツ東葛 v ブラックラムズ東京 千葉 柏の葉
3⽉4⽇ ⼟ 交流 埼⽟ワイルドナイツ v クボタスピアーズ船橋・東京ベイ 埼⽟ 熊⾕
3⽉5⽇ ⽇ 交流 東京サンゴリアス v トヨタヴェルブリッツ 東京 秩⽗宮
3⽉5⽇ ⽇ 交流 花園近鉄ライナーズ v 三菱重⼯相模原ダイナボアーズ ⼤阪 花園
第11節
3⽉10⽇ ⾦ 交流 ブラックラムズ東京 v コベルコ神⼾スティーラーズ 東京 秩⽗宮
3⽉11⽇ ⼟ 交流 東京サンゴリアス v 埼⽟ワイルドナイツ 東京 秩⽗宮
3⽉11⽇ ⼟ 交流 花園近鉄ライナーズ v トヨタヴェルブリッツ ⼤阪 花園
3⽉11⽇ ⼟ 交流 静岡ブルーレヴズ v クボタスピアーズ船橋・東京ベイ 静岡 静岡県内
3⽉12⽇ ⽇ 交流 グリーンロケッツ東葛 v 東芝ブレイブルーパス東京 千葉 柏の葉
3⽉12⽇ ⽇ 交流 三菱重⼯相模原ダイナボアーズ v 横浜キヤノンイーグルス 神奈川 ギオンス
第12節
3⽉17⽇ ⾦ B 東京サンゴリアス v 花園近鉄ライナーズ 東京 秩⽗宮
3⽉18⽇ ⼟ A ブラックラムズ東京 v 静岡ブルーレヴズ 東京 秩⽗宮
3⽉18⽇ ⼟ A トヨタヴェルブリッツ v 東芝ブレイブルーパス東京 愛知 愛知県内
3⽉18⽇ ⼟ B クボタスピアーズ船橋・東京ベイ v 横浜キヤノンイーグルス 東京 江⼾川
3⽉19⽇ ⽇ A 三菱重⼯相模原ダイナボアーズ v 埼⽟ワイルドナイツ 東京 秩⽗宮
3⽉19⽇ ⽇ B コベルコ神⼾スティーラーズ v グリーンロケッツ東葛 兵庫 ユニバ
DIVISION 1
節 ⽇程 カンファレンス 対戦カード 開催都道府県 会場
第13節
3⽉24⽇ ⾦ A ブラックラムズ東京 v 東芝ブレイブルーパス東京 東京 秩⽗宮
3⽉25⽇ ⼟ A トヨタヴェルブリッツ v 埼⽟ワイルドナイツ 愛知 愛知県内
3⽉25⽇ ⼟ B 横浜キヤノンイーグルス v 花園近鉄ライナーズ ⼤分 昭和電ド
3⽉26⽇ ⽇ A 静岡ブルーレヴズ v 三菱重⼯相模原ダイナボアーズ 静岡 静岡県内
3⽉26⽇ ⽇ B グリーンロケッツ東葛 v 東京サンゴリアス 千葉 柏の葉
3⽉26⽇ ⽇ B コベルコ神⼾スティーラーズ v クボタスピアーズ船橋・東京ベイ ⼤阪 花園
第14節
4⽉7⽇ ⾦ B 東京サンゴリアス v コベルコ神⼾スティーラーズ 東京 東京都内
4⽉8⽇ ⼟ A 静岡ブルーレヴズ v 東芝ブレイブルーパス東京 静岡 静岡県内
4⽉8⽇ ⼟ B クボタスピアーズ船橋・東京ベイ v 花園近鉄ライナーズ 東京 東京都内
4⽉8⽇ ⼟ A トヨタヴェルブリッツ v 三菱重⼯相模原ダイナボアーズ 岐⾩ ⻑良川
4⽉8⽇ ⼟ A 埼⽟ワイルドナイツ v ブラックラムズ東京 埼⽟ 埼⽟県内
4⽉9⽇ ⽇ B グリーンロケッツ東葛 v 横浜キヤノンイーグルス 千葉 千葉県内
第15節
4⽉14⽇ ⾦ A 東芝ブレイブルーパス東京 v 三菱重⼯相模原ダイナボアーズ 東京 東京都内
4⽉14⽇ ⾦ B 花園近鉄ライナーズ v コベルコ神⼾スティーラーズ ⼤阪 花園
4⽉15⽇ ⼟ A 埼⽟ワイルドナイツ v 静岡ブルーレヴズ 埼⽟ 埼⽟県内
4⽉15⽇ ⼟ B 横浜キヤノンイーグルス v 東京サンゴリアス 神奈川 神奈川県内
4⽉16⽇ ⽇ A ブラックラムズ東京 v トヨタヴェルブリッツ 東京 東京都内
4⽉16⽇ ⽇ B グリーンロケッツ東葛 v クボタスピアーズ船橋・東京ベイ 千葉 千葉県内
第16節
4⽉21⽇ ⾦ A 東芝ブレイブルーパス東京 v 埼⽟ワイルドナイツ 東京 東京都内
4⽉22⽇ ⼟ A 三菱重⼯相模原ダイナボアーズ v ブラックラムズ東京 神奈川 神奈川県内
4⽉22⽇ ⼟ B クボタスピアーズ船橋・東京ベイ v 東京サンゴリアス 東京 東京都内
4⽉22⽇ ⼟ B 花園近鉄ライナーズ v グリーンロケッツ東葛 ⼤阪 花園
4⽉23⽇ ⽇ B コベルコ神⼾スティーラーズ v 横浜キヤノンイーグルス ⼤阪 花園
4⽉23⽇ ⽇ A 静岡ブルーレヴズ v トヨタヴェルブリッツ 静岡 静岡県内
PLAY-OFFS
節 ⽇程 対戦カード 開催都道府県 会場
PO1
未定 準決① 1位 v 4位 未定 未定
未定 準決② 3位 v 2位 未定 未定
PO2 未定 3決 準決勝① 敗者 v 準決勝② 敗者 未定 未定
PO3 5⽉20⽇ ⼟ 決勝 準決勝① 勝者 v 準決勝② 勝者 東京（予定） 未定
```

## リンク
* [NTTジャパンラグビー リーグワン2022-23
スケジュール一覧](https://league-one.jp/content/schedule_table/div1)
* [新しいカレンダーを作成する](https://support.google.com/calendar/answer/37095?hl=ja&ref_topic=10510242)
* [Google カレンダーに予定を読み込む](https://support.google.com/calendar/answer/37118?hl=ja&co=GENIE.Platform%3DDesktop&oco=1)
* [【NTTジャパンラグビー リーグワン2022 23】googleカレンダー一括登録用csvファイル](https://github.com/vyeah321/league_one/wiki/%E3%80%90NTT%E3%82%B8%E3%83%A3%E3%83%91%E3%83%B3%E3%83%A9%E3%82%B0%E3%83%93%E3%83%BC-%E3%83%AA%E3%83%BC%E3%82%B0%E3%83%AF%E3%83%B32022-23%E3%80%91google%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E4%B8%80%E6%8B%AC%E7%99%BB%E9%8C%B2%E7%94%A8csv%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB)