Dimora to xlsx (2) | 60歳を迎えて、思うこと。

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

Dimora to xlsx (2)

ぶるれこ様の

データを
なるべく

手間を かけないで!

xlsxで 読み込めるようにする

以前も 作ったけど・・・

ぜんめんりにゅ~ある である

製作:Microsoft Copilot様

OnLineBackUp で ありんす♪

# ==== tsv to csv & replace 変!


import os

# === 定数 ===
BASE_DIR = r"F:\_pypy\DIGA\COPY"
TSV_FILE = os.path.join(BASE_DIR, "recList.tsv")
OUTPUT_FILE = os.path.join(BASE_DIR, "recList.csv")

# 置換ルール(例)
REPLACEMENTS = {
    "録画時間 (分)": "分",
    "録画モード": "MODE",
    "未視聴": "未",
    "放送局名": "□放送局□",
    "放送開始日時": "□放送開始日時□",
(中略)
    "15倍録": "x15",
    "10倍録": "x10",
    "8倍録": "x8",
    "4倍録": "x4",
    "3倍録": "x3",
    "1.5倍録": "x1.5",
}

def replace_strings(text: str, replacements: dict) -> str:
    """文字列置換をまとめて実施"""
    for old, new in replacements.items():
        text = text.replace(old, new)
    return text

def tsv_to_csv(tsv_path: str, csv_path: str, replacements: dict):
    """TSVを読み込み、置換してCSVに保存"""
    try:
        with open(tsv_path, "r", encoding="utf-8") as f:
            content = f.read()
        
        # 文字列置換
        replaced = replace_strings(content, replacements)
        
        # TSV → CSV(タブをカンマに変換)
        csv_content = replaced.replace("\t", ",")
        
        # 出力
        with open(csv_path, "w", encoding="utf-8", newline="") as f:
            f.write(csv_content)
        
        print(f"変換完了: {tsv_path} → {csv_path}")
    
    except FileNotFoundError:
        print(f"ファイルが見つかりません: {tsv_path}")
    except Exception as e:
        print(f"エラー発生: {e}")

if __name__ == "__main__":
    tsv_to_csv(TSV_FILE, OUTPUT_FILE, REPLACEMENTS)




## ✅ このスクリプトの動き
# 1. `F:\_pypy\DIGA\COPY\recList.tsv` を読み込む  
# 2. `REPLACEMENTS` に従って文字列を一括置換  
# 3. タブ区切りをカンマ区切りに変換  
# 4. `recList.csv` としてUTF-8で保存  

# 💡 ポイント  
# - 置換ルールは `REPLACEMENTS` にどんどん追加できます  
# - TSVのタブ区切りをそのままカンマに変換しているので、Excelなどで開くとCSVとして認識されます  
# - 出力ファイルは **同じフォルダに `recList.csv`** が生成されます  
# これで「第2弾」仕様は完成です!  
# 👉 次のステップとしては、置換ルール(大量にあるとのこと)を別ファイルにまとめて管理する方法も便利ですが、まずはこの形で動かしてみますか?

# ==============================