How ToIT生活

ドコモ「スケジュール&メモ」のデータをMacを使用してOutlookなしでGoogleカレンダーに移行

メモしておきます

ドコモ「スケジュール&メモ」はドコモ独自のアプリ

長年ドコモユーザーだった家族が、キャリア変更しました。
その際に新しい機種にも変更。

データ移行がスムーズにできたと思ったら、

「あれ? スケジュールが見れない!」との声。

何に登録していたのかと聞くと、スケジュール専用アプリがあったとのこと。
なるほど、「スケジュール&メモ」はドコモ端末専用のアプリなんですね…

Google Calendarに移行

Googleカレンダーに移行することにしました。
以下の流れでGoogleカレンダーに移行することができました。

移行の環境は
・Android ドコモ端末(SIMカード、SDカードあり)→Android SIMフリー端末へ移行
・PCを使用(Mac)

①ドコモ端末(SIMとSDカードが入った状態)の「スケジュール&メモ」アプリでデータをSDカードにエクスポートする(vcsファイル)

②SDカードに保存したデータをPCに保存する

③vcsファイルが文字化けしているので、Google ColabでPythonの実行で文字化けをなおす

④実行して作成されたファイルをMacの「カレンダー」に読み込み→書き出すとicsファイルができる

⑤Googleカレンダーにインポート(件数が多かったのか、即時反映ではなかったです)

PythonはAIに書いてもらいました
input_fileのファイル名は保存したファイル名に変更、Pythonファイルとvcsファイルは同じフォルダに保存しておきます

import quopri
import re

input_file = '保存したファイル名を入力.vcs'
output_file = 'all_events_fixed.ics'

with open(input_file, 'rb') as f:
    content = f.read().decode('utf-8', errors='ignore')

# 改行コードの修正
content = re.sub(r'=\r?\n', '', content)
events = re.findall(r'BEGIN:VEVENT.*?END:VEVENT', content, re.DOTALL)

ics_out = ["BEGIN:VCALENDAR", "VERSION:2.0", "PRODID:-//Colab//JP", "METHOD:PUBLISH"]

def decode_qp(match):
    prefix, value = match.groups()
    try:
        return f"{prefix.split(';')[0]}:{quopri.decodestring(value).decode('utf-8', errors='ignore').strip()}"
    except: return match.group(0)

for event in events:
    # 文字化けデコード
    event = re.sub(r'([A-Z]+;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE):([^:\n\r]+)', decode_qp, event)
    lines = event.splitlines()
    clean_event = ["BEGIN:VEVENT"]
    for line in lines:
        if any(line.startswith(p) for p in ["DTSTART", "DTEND", "SUMMARY", "DESCRIPTION", "LOCATION", "RRULE"]):
            clean_event.append(line)
    clean_event.append("END:VEVENT")
    ics_out.extend(clean_event)

ics_out.append("END:VCALENDAR")

with open(output_file, 'w', encoding='utf-8') as f:
    f.write("\n".join(ics_out))
print(f"完了! {len(events)} 件処理しました。左のフォルダから {output_file} をダウンロードしてください。")

Outlookにインポートする方法もあるようでしたのでWindowsユーザーに方はその方法でできるかもしれません。

キャリア独自のアプリに頼るのはリスクがあるのかもしれないですね。

無事に移行できてよかったです

◇ ◇ ◇

◇ ◇ ◇