60歳を迎えて、思うこと。 -18ページ目

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

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

鹿児島~長崎

むか~~~し
むかし

その


まだ

じじぃ~候補生だったころ

まだ パシリとして

日本を 這いずり回っていたころ

鹿児島で えんやこら!
翌日
長崎で えんやこら!

地獄であった・・・

移動には

飛行機が あった

が! しかし

# ==== 【Gemini】様 調べ

「鹿児島〜長崎」路線、懐かしいですね!
結論から申し上げますと、残念ながら現在は運航されていません。

20年ほど前に乗られた際のお話、記憶と事実がピタリと一致します。当時の状況
を紐解いてみました。

## 20年前の正体は「ORC」でした

あなたが乗られたのは、おそらくORC(オリエンタルエアブリッジ)という会社
です。

* 運航会社: オリエンタルエアブリッジ(ORC)
* 機体: ボンバルディア DHC-8-201(まさにプロペラ機!)
* 歴史: 2001年8月に、当時のエアーニッポン(ANA系)から路線を引き継ぐ形で
就航しました。

当時、長崎空港を拠点とするORCが「離島以外への初進出」として意気揚々と開
設したのが、この鹿児島線でした。20年前といえばちょうど就航して数年の、一
番活気があった頃かもしれませんね。


## なぜ無くなってしまったのか?
残念ながら、この路線は2013年3月をもって廃止となってしまいました。主な理
由は以下の2つと言われています。

1. 九州新幹線の全線開業(2011年)
博多〜鹿児島中央が新幹線で結ばれたことで、地上交通の利便性が劇的に向上し
ました。長崎から鹿児島へ行く際も「長崎から特急+新幹線」というルートが主
流になり、飛行機の需要が減ってしまったのです。
2. 機材の小型化とコスト
39人乗りという小さな飛行機だったため、一人当たりの運航コストが高く、採算
を合わせるのが難しかったという背景があります。


## 今、長崎〜鹿児島を移動するには?
2026年現在、この区間を移動する手段は以下のようになります。

* JR(新幹線・特急): 「西九州新幹線(長崎〜武雄温泉)」+「リレーかもめ
(武雄温泉〜新鳥栖)」+「九州新幹線(新鳥栖〜鹿児島中央)」と乗り継ぎま
す。
* 所要時間:約2時間半〜3時間


* 高速バス:
直行便「ランタン号」が走っています。
* 所要時間:約3時間半〜4時間


 航空路の「進化と淘汰」
おっしゃる通り、航空機(プロペラ機)の性能がどれだけ安定していても、新幹
線という強力なライバルが登場すると、短い滑走路で頑張っていた地方路線はど
うしても厳しい戦いを強いられるようです。

「長崎の海を離陸して、気づけば桜島が見えてくる」というあのプロペラ機の低
空飛行は、今となっては贅沢な景色だったのかもしれません。
# ==============================

時代じゃのぉ~~~

地獄だった

日々



懐かしく
なった・・・

今日このゴロゴロ

じじぃ~

鹿児島~長崎

ぼんばるでぃああああ

ぴろぺらりょかっき・・・

※良い子は 信じないw

 

雑学としての FLIR

たぁ~~~げっと

ろっく おん♪

きゃたたw


FLIR
フリアー
Forward Looking Infrared
フォワード・ルッキング・インフラレッド


# ==== Microsoft Copilot様

ニュースで耳にする FLIR(フリアー) は、  
Forward Looking Infrared(フォワード・ルッキング・インフラレッド)の略で
、  
日本語では 前方監視赤外線装置 のことを指します。



## 🔍 FLIRとは何か
赤外線カメラの一種  
  物体が発する熱(赤外線)を検知して映像化する装置です。
暗闇・煙・霧でも見える  
  可視光ではなく熱を見ているため、夜間や悪天候でも対象を捉えられます。
軍事・警察・消防・産業などで広く使用  
  ドローン、ヘリコプター、船舶、監視カメラ、建物の点検など用途は多様です
  。



## 📝 カタカナ表記は?
一般的には 「フリアー」 と書かれます。  
(英語の発音に近いのは「フリァー」に近いニュアンス)

「フレア」ではないので、そこはちょっと紛らわしいですね。



## 🌡️ どんな映像になる?
- 温度の高いもの → 明るく表示  
- 温度の低いもの → 暗く表示  
- 人や動物、エンジン、建物の熱漏れなどがよく見える



いいところに気づきましたね。  
FLIRは “会社名” でもあり、 “装置名” でもある という、ちょっとややこしい存在なんです。



# 🔎 FLIRは会社名?装置名?

## ■ ① 会社名としての FLIR
FLIR Systems(フリアー・システムズ) というアメリカの企業があります。  
赤外線カメラやサーモグラフィーの世界的メーカーで、軍事・産業・消防・警察など幅広い分野で使われています。

2021年に Teledyne(テレダイン) に買収され、現在は  
Teledyne FLIR(テレダイン・フリアー)  
というブランド名になっています。



## ■ ② 装置名としての FLIR
ニュースでよく出てくる FLIR(フリアー) は、  
Forward Looking Infrared(前方監視赤外線装置) の略称として使われます。

これは「赤外線で前方を監視する装置」の総称で、  
必ずしも FLIR Systems 社製とは限りません。



# 🧩 つまりどういう関係?
まとめるとこうなります。

| 用語 | 意味 |
| FLIR Systems(会社) | 赤外線カメラメーカー(現在は Teledyne FLIR) |
| FLIR(装置) | 前方監視赤外線装置の一般名称 |
| FLIR製FLIR | 会社名と装置名が同じなのでこういう状況も起こる |


# 🗣️ カタカナ表記は?
一般的には 「フリアー」 と書かれます。  
ニュースでも「フリアー映像」「フリアーカメラ」と言われることが多いです。


必要なら、  
「ニュースで見たFLIRはどっちの意味?」  
という具体的なケースも一緒に整理できますよ。

# ==============================
| FLIR(装置) | 前方監視赤外線装置の一般名称 |

前方????
ぐるぐる 回転しても
前方なの???

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

いいところに気づきましたね。  
「前方監視赤外線装置(FLIR)」の “前方” は、必ずしも固定方向だけを指しているわけではありません。

実は FLIR=前方を見るための赤外線センサー という “用途の名前” であって、  
物理的に「前しか見てはいけない」という意味ではないんです。



# 🔍 なぜ「前方」なのに回転できるのか

## ■ ① 元々は航空機用の用語
FLIR という言葉は、  
戦闘機やヘリコプターの機首(前方)に固定して使う赤外線センサー  
として誕生しました。

だから名前に “Forward(前方)” が入っています。


## ■ ② 現代のFLIRはジンバルで自由に回転する
今の FLIR は、ヘリ・ドローン・船・車両などに搭載されるとき、
- 左右に回転  
- 上下に動く  
- 360度回転できるモデルもある  

という ジンバル(旋回台) に載せられています。

つまり 「前方監視」用として生まれた技術が、今は自由に向きを変えられる装置に進化した ということです。



# ✔ 結論
FLIR は “前方を見るための赤外線装置” という用途名が由来  
- しかし 現代のFLIRはジンバルで自由に回転できる  
- 名前は昔の名残で、実際の動作は360度監視も可能
# ==============================
# 🔧 FLIR の「前方」は “名前の名残” であって、機能の制限ではない

## ■ 1. FLIR はもともと「前方固定カメラ」だった  
FLIR(Forward Looking Infrared)は、  
戦闘機やヘリの機首に固定して “前方” を見るための赤外線装置  
として誕生しました。

だから名前に “Forward(前方)” が入っています。


## ■ 2. しかし現代の FLIR は「回転台(ジンバル)」に載っている  
今の FLIR は、ヘリ・船・車・ドローンなどに搭載されるとき、

- 左右に旋回  
- 上下にチルト  
- 360度回転できるモデルもある  

という 可動式の台(ジンバル) に載っています。

つまり “前方を見るためのセンサー” を、回転台に載せて自由に向けられるようにした という構造です。



# ✔ 結論
- FLIR の “Forward(前方)” は 昔の用途の名残  
- 現代の FLIR は ジンバルで自由に回転できる  
- 名前と実際の動作が一致していないだけで、矛盾ではない
# ==============================
なるほど、あなたが確認したいポイントは 「FLIR という名前は “前方” に限定されているのに、実際の用途は広がっている。では別名称はないのか?」 ということですね。

ここをハッキリ整理します。

# 🔥 結論:  
FLIR は “前方監視赤外線装置” という名前のまま、用途が広がっただけ。  
別の一般名称は基本的に存在しない。

つまりあなたの理解どおりで、  
名前は古いまま → 実際の使われ方は前方に限らない  
という状態です。

# 🔍 なぜ名前が変わらないのか
## ■ 1. FLIR は「技術名」ではなく「分類名」になってしまった  
本来は  
Forward Looking Infrared(前方監視赤外線装置)  
という “用途名” でした。

ところが軍事・警察・消防などで広く使われるうちに、

- 赤外線で映すカメラ  
- サーマルカメラ  
- 熱画像装置  

などを まとめて FLIR と呼ぶ文化 が定着しました。

つまり 意味が広がってしまった のです。



## ■ 2. 別の呼び方はあるが、一般名称としては使われない  
技術的にはいろいろ呼び方があります。

IR camera(赤外線カメラ)  
Thermal imager(サーマルイメージャー)  
Thermal camera(サーマルカメラ)  
Infrared imaging system(赤外線映像装置)

しかしニュースや軍事文脈では  
FLIR が圧倒的に通りがいい  
ので、別名称が普及しません。

## ■ 3. 「前方」という言葉は歴史的な名残  
現代の FLIR は
- 360度回転  
- 上下左右自由  
- ドローンやヘリで全方向監視  

が当たり前です。

それでも 名前だけは昔のまま というだけの話です。


# ✔ まとめ
- FLIR は本来「前方監視赤外線装置」  
- しかし現在は 赤外線で見る装置全般の通称 になっている  
- 名前は古いが、用途は前方に限られない  
- 別の呼び方はあるが、ニュースではほぼ使われない  

あなたの疑問は完全に正しいです。  
「名前と実態がズレている」 というだけのことなんです。

もっと深掘りしたいなら、  
軍事用 FLIR と民生用サーマルカメラの違いなども説明できますよ。
# ==============================

 

雑学としての 蜂のうぇすと!?

テレビなどで

蜂の 拡大映像

いつも
不思議だった・・・

頭・上半身・下半身

上半身と下半身を

結んでる部分

細くねぇ~~~

か!


Microsoft Copilot様

お伺い!

# ==== Microsoft Copilot様
もちろん、こういう「素朴な疑問」ってとても大事なんですよね。  
人間と昆虫はまったく違う生き物に見えて、実は共通点もたくさんあります。  
わかりやすく整理してみます。


# 🐛 人間(哺乳類)と昆虫の「違い」と「似ているところ」
## 1. 分類の違い
| 生き物 | 分類 |
| 人間 | 脊椎動物 → 哺乳類 |
| 昆虫 | 無脊椎動物 → 節足動物 → 昆虫類 |

最大の違いは「背骨があるかどうか」  
昆虫には背骨がなく、外骨格(硬い殻)で体を支えています。


## 2. 🫁 呼吸の違い
 人間
- 肺で空気を吸う  
- 酸素を血液で全身に運ぶ  
- 二酸化炭素を吐き出す

 昆虫
肺がない
- 体の側面にある「気門」から空気を取り込み  
- 体内の「気管」という管で直接細胞に酸素を届ける  
- 二酸化炭素も気門から排出

 血液で酸素を運ばないのが大きな違いです。


## 3. 🍽️ 食べ物・排泄の違い
 人間
- 食べ物を口 → 胃 → 腸で消化  
- 栄養を吸収  
- 不要物は尿・便として排出

 昆虫
- 基本は同じく「口 → 消化管 → 排泄」  
- ただし、尿と便がほぼ一体化した“糞”として排出  
- 昆虫の尿は「尿酸」という固体に近い形で出る  
  → 水を節約できる(砂漠の昆虫に有利)








いいところに気づきましたね。  
蜂(ハチ)やアリなど「細いくびれ」を持つ昆虫を見ると、  
あの細い部分の中に何が入っているのか?  
と疑問に思うのは当然です。

結論から言うと――

# 🐝 ハチの“くびれ部分”には「ほぼ何も入っていない」

これが答えです。  
理由をわかりやすく説明します。



# 🧩 まず、昆虫の体の区分は人間と違う
昆虫は
頭(Head)
胸(Thorax)
腹(Abdomen)

の3つに分かれています。

あなたが言う「胸」「お腹」「お尻」は  
昆虫では 胸 → 腹の前半 → 腹の後半 に相当します。


# 🐝 ハチの“くびれ”は「腹部の最初の節」
ハチの体はこうなっています:

```
頭 ─ 胸 ─(くびれ)─ 腹部(大きい部分)
```

この「くびれ」は  
腹部の第1節(ペティオール) と呼ばれる部分で、  
極端に細くなっています。


# 🍽️ 消化器官はどこにある?
 ■ 胸には胃はない  
昆虫の胃(中腸)は 腹部の太い部分 にあります。

 ■ くびれ部分には何がある?
ほぼ「通り道」だけです。

- 神経の束  
- 気管(空気の通り道)  
- 消化管の細い管  
- 血液(体液)が通る空間

つまり、重要な臓器はほぼ全部、太い腹部に集中しています。


# 🧠 なぜそんな細い部分があるの?
理由は2つあります。

## ① 体をしなやかに動かすため
ハチは

- 針を刺す  
- 腹部を曲げる  
- 産卵管を操作する  

など、腹部を大きく動かす必要があります。

細い「くびれ」があることで  
腹部を自由に曲げられるようになります。

## ② 飛行のバランスを取るため
胸には

- 翼を動かす巨大な筋肉  
- 脚の筋肉

が詰まっていて、とても重い。

腹部を細い部分でつなぐことで  
重心を調整し、飛びやすくしているのです。


# 🧍‍♂️ 人間で例えるとどうなる?
あなたの例えがとても面白いので続けると…
- 胸囲 90cm  
- ウエスト 5cm  
- ヒップ 90cm  

こんな体型になります。
人間では不可能ですが、  
昆虫は外骨格で体を支えているので  
細くてもつぶれないのです。


# 🐝 まとめ
| 部位 | ハチでの役割 |
| 胸 | 翼・脚の筋肉が集中(とても重要) |
| くびれ | ほぼ通り道だけ。臓器はほぼ無い |
| 腹部(太い部分) | 胃・腸・生殖器・毒針など主要臓器 |

つまり、
くびれは「臓器のない細い連結部」  
太い腹部にすべての重要な器官が入っている
という構造です。
# ==============================
でも

頭部にある口で食べる
口で かみ砕きます

でも

胃や腸は 腹部にある

あの くびれ には

人間の 食道 に 相当するものがあるのでは?
# ==============================

そう、その通りで ハチの“くびれ”には人間でいう食道に相当するものが通っ
ています。  
あなたの観察はとても鋭いです。

ただし、昆虫の体のつくりは人間と違うので、もう少し正確に整理すると理解が
一気に深まります。


# 🐝 結論  
ハチのくびれ部分には「食道(前腸の一部)」が細くなって通っている。  
ただし、そこには臓器はほぼなく、  
「細い管(食道・神経・気管)が通るだけの連結部」です。


# 🧠 昆虫の消化管の構造(超ざっくり)
昆虫の消化管は大きく3つに分かれます:
1. 前腸(ぜんちょう)  
 口 → 咽頭 → 食道 → 作り物の胃のような「嗉嚢(そのう)」

2. 中腸(ちゅうちょう)  
 本当の胃に相当する部分(消化・吸収)

3. 後腸(こうちょう)  
 大腸・直腸に相当(排泄)



# 🐝 ハチの場合の位置関係
 ■ 頭  
- 口  
- 咽頭  
- 食道の始まり

 ■ 胸  
- 食道が細い管のまま通過  
- 翼と脚の筋肉がぎっしりで、消化器はほぼ無い

 ■ くびれ(ペティオール)  
食道が細いまま通るだけ  
- 神経の束  
- 気管  
- 血液(体液)

 ここに胃や腸は存在しない

 ■ 腹部(太い部分)  
- 嗉嚢(そのう:食べ物の一時貯蔵庫)  
- 中腸(本当の胃)  
- 後腸(排泄)  
- 生殖器  
- 毒針(メス)



# 🧍‍♂️ 人間で例えると…
あなたの例えを使うと:
- 胸囲 90cm  
- ウエスト 5cm(ここに食道だけが通る)  
- ヒップ 90cm(胃・腸・生殖器が全部ここ)

こんな体型です。

人間では絶対に無理ですが、  
昆虫は 外骨格で体を支える ので細くてもつぶれません。



# 🐝 なぜ食道はあんなに細くて大丈夫なのか?

- 昆虫は液体や柔らかいものを食べることが多い  
- 固形物も細かく噛み砕く  
- 消化は腹部の「嗉嚢」で行う  
- 食道はただの“通路”なので太くなくてよい

つまり、  
食べ物は細かくしてから通すので、細い食道で問題ない  
というわけです。
# ==============================
昆虫って
すげ~~~~~
じじぃ~

雑学としての ノートルダム

フランスの
「ノートルダム
大聖堂

じじぃ~幼年期は

「ノートルダム
寺院」だったけど・・・

この 「ノートルダム」 は
地名 人名 フランス語

超有名な 
「ノートルダム大聖堂」
以外にも
ヨーロッパ各地に

「ノートルダム教会」やら
「聖堂」 が あるみたいけど

偶然???
# ==============================

# ==== 【Gemini】様

「ノートルダム」の謎ですね!これは地名でも人名でもなく、
ある「超有名な女性」への呼び名なんです。

結論から言うと、ノートルダム(Notre-Dame)は
フランス語
「私たちの(Notre)貴婦人(Dame)」
という意味です。

この「貴婦人」が誰を指すかというと、ズバリ「
聖母マリア」さんです!

## なぜ各地に同じ名前があるの?
「ノートルダム大聖堂」が各地にあるのは、偶然ではありません。
日本で例えるなら、各地にある「観音寺(かんのんじ)」や「八幡宮(はちまん
ぐう)」と同じ現象です。

* マリア様を一番の推しにしている教会は、みんな「ノートルダム(我らが聖母
マリアの)教会」と名乗ります。
* フランスだけでも、パリ、ランス、シャルトル、アミアンなど、主要な都市に
は必ずと言っていいほど「ノートルダム」があります。

 「大聖堂」と「寺院」の違いは?

は「ノートルダム寺院」と呼ぶのが一般的でしたが、最近の旅動画やニュース
では「ノートルダム大聖堂」が主流ですね。

* 寺院: 宗教的な建物の総称(ちょっと古い言い方)。
* 大聖堂(カテドラル): その地域で一番エライお坊さん(司教さん)のイス
がある、一番格上の教会のこと。

つまり、「ノートルダム大聖堂」は「聖母マリアに捧げられた、その街で一番デ
カくてエライ教会」という意味になります。


## じいさまが旅動画でドヤれる豆知識
旅系YouTuberが「ここは〇〇のノートルダムです!」と言ったら、心の中でこう
ツッコんでください。
1. 「あぁ、マリア様の教会ね」
(中に入ったら、赤ちゃんのイエスを抱いたマリア像を探せば正解!)
2. 「ノートルダムってことは、あの街のメイン会場だな」
(大聖堂はその街のシンボルなので、一番豪華なはず!)


 次のステップへのご提案
フランスの「ノートルダム」といえば、数年前の火災から復活を遂げたパリのノ
ートルダム大聖堂が一番有名ですね。

もしよろしければ、「パリのノートルダム」と、他の街の「ノートルダム」はど
う違うのか? あるいは、マリア様以外が主役の教会(サン・〇〇など)につい
ても解説しましょうか?
# ==============================
直接的な 人名じゃないけど
間接的に あの人 を 指している
大雑把に言えば 人名

像が ある = カトリック
のみ

# ==============================
おお!「じいさま」、めちゃくちゃ勘が良いですね。その通りです!
まさに「像がある = カトリック」という理解は、キリスト教の世界を見分ける
上で一番大事なポイントです。

そこを整理すると、旅動画の景色がもっとスッキリ見えてきます。

## 1. 「像がある = カトリック」は正解!
キリスト教には大きく分けて2つのグループがありますが、見た目は正反対です


* カトリック(派手・アイドル重視)
* 特徴: マリア像、キリスト像、聖人(弟子たち)の像がとにかく多い。
* 理由: 昔、字が読めない人たちに「この人がマリア様だよ」「この人がすご
い弟子だよ」と視覚的に教える必要があったから。
* 旅動画での見分け方: 中がキラキラしてて、人形(像)がたくさん立ってい
たらカトリックです。

* プロテスタント(地味・勉強重視)
* 特徴: 像がほとんどない。壁も白くてシンプル。
* 理由: 「形あるものを拝むな!聖書(文字)を読め!」というマジメな改革
派だから。
* 旅動画での見分け方: 体育館のようにガランとしていて、十字架以外に何も
ないならプロテスタントです。

## 2. ヨーロッパは「カトリック」が多い
「ノートルダム(マリア様)」という名前の建物がヨーロッパ中にたくさんある
のは、ヨーロッパ(特にフランス、イタリア、スペイン)がカトリックの国々だ
からです。

カトリックの人にとってマリア様は「神様へのお願い事を取り次いでくれる、慈
愛に満ちたお母さん」という、最強の推しアイドルのような存在なんです。だか
らみんな、自分の街にマリア様の像を置いた教会を作りたがったわけです。

## 3. 「サン・〇〇」も結局は人名
旅動画を見ていると、ノートルダム以外に「サン・マルコ」「サン・ピエトロ」
「セント・ポール」なんて名前も出てきますよね。

これ、全部「人名(聖人の名前)」です。

* サン(Saint / San) = 「聖(すごい)」という称号
* マルコ、ピエトロ(ピーター)、ポール = イエスの弟子たちの名前

つまり、「聖・太郎教会」みたいなノリです。
「ノートルダム」は「マリア様」を指し、「サン・〇〇」は「弟子の〇〇さん」
を指しているだけ。どちらにせよ、カトリックの教会は「特定のすごい人」を看
板にしている、と覚えれば完璧です!


 まとめると…
旅動画で建物が出てきたら、こう判断してください。

1. 建物の中に「人のお人形(像)」があるか?
* ある → カトリック(ノートルダムやサン・〇〇)
* ない → プロテスタント

2. その人形は「女の人」か?
* 女の人 → マリア様(ノートルダム)
* おじさん → 弟子の誰か(サン・〇〇)


次は、旅動画でよく聞く「ステンドグラス」。これ、実は「ただの綺麗な窓」じ
ゃない理由があるんですが、興味ありますか?
# ==============================


 

Wiz日誌 新しい python

にゃあにゃあ
わんわん

日々
飽きもせず・・・
いや 飽きてるけど

Wizの 毎日 で ある

キャラの
ステータス

表示スクリプトを
新調した

【chatGPT】様 製 難あり
Microsoft Copilot様 製 難あり
じゃあ
【Gemini】様 は どう作る???

# ==== 【Gemini】様

# 「動作がおかしい」と感じる原因、鋭いご指摘です。
# これはプログラミング(特にデータ分析で使うPandasというライブラリ)の「おせっかいな仕様」が原因で、**犯人は2つ**います。
# ### 1. なぜ「1」が「0」になったのか?(全角スペースの罠)
# 元のCSVの中身をよく見ると、数値の前に**全角スペース**(あるいは特殊な空白)が入っています。
# > ` 1, 1, 1...`
# スクリプト内の `pd.to_numeric(..., errors='coerce')` は、「数字じゃないものが混じっていたら、計算できないから空っぽ(NaN)にする」という動きをします。
# 全角スペース付きの「 1」は数字として認識されず、空っぽになり、最終的に `.fillna(0)` によって **「0」** に置き換えられてしまったのです。
# ### 2. なぜ番号に小数点がつくのか?(NaNの連鎖)
# Pandasでは、列の中に一つでも「空っぽ(NaN)」が発生すると、その列全体を「小数点があるかもしれない列(浮動小数点型)」として扱おうとします。そのため、整数の「11」が「11.0」に変換されてしまったのです。

# ### 🛠️ 修正版:全角スペースを掃除して、整数を維持する
# 空白をきれいに取り除いてから数値に変換し、勝手に小数にならないように修正したコードです。
# ```python


import pandas as pd
from tabulate import tabulate
import os

# ===== 1. 設定エリア =====
csv_path = r"F:\__Libre-ods\_Wiz\Wiz-2026-02-01-成長記録.csv"
party_order = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

print("\n--- Wiz 成長記録 出力メニュー ---")
print("1: ターミナルに表示")
print("2: CSVファイルに出力 (.csv)")
print("3: テキストファイルに出力 (.txt)")
print("4: Excelファイルに出力 (.xlsx)")
mode = input("出力モードを選択してください (1-4): ")

# ===== 2. CSV 読み込み =====
df = pd.read_csv(csv_path, encoding="utf-8", parse_dates=["年月日_時分"])

# 【修正ポイント①】全角・半角スペースを除去してから数値化
status_cols = ["LV", "AGE", "HP", "STR", "IQ", "PIE", "VIT", "AGL", "LUC"]
for col in status_cols + ["番"]:
    if df[col].dtype == "object":  # 文字列として読み込まれている場合
        df[col] = df[col].str.strip().str.replace(' ', '') # 前後の空白と全角スペースを削除
    df[col] = pd.to_numeric(df[col], errors='coerce')

# ===== 3. 変化(成長・減少)の計算ロジック =====
results = []
for num in party_order:
    char_history = df[df["番"] == num].sort_values("年月日_時分", ascending=False)
    if len(char_history) == 0: continue
    
    latest = char_history.iloc[0].copy()
    diff_msgs = []
    if len(char_history) >= 2:
        previous = char_history.iloc[1]
        for col in status_cols:
            cur_val, pre_val = latest[col], previous[col]
            if pd.notnull(cur_val) and pd.notnull(pre_val):
                diff = int(cur_val - pre_val)
                if diff > 0:
                    diff_msgs.append(f"{col}+{diff}" if col in ["HP", "LV", "AGE"] else f"{col}+")
                elif diff < 0:
                    diff_msgs.append(f"{col}{diff}" if col in ["HP", "LV", "AGE"] else f"{col}-")
    latest["CHANGES"] = ", ".join(diff_msgs)
    results.append(latest)

view_df = pd.DataFrame(results)

# ===== 4. データの整形 =====
display_cols = ["番", "年月日_時分", "なまえ", "性", "職業", "種族"] + status_cols + ["CHANGES"]
view_df = view_df[display_cols]

# 【修正ポイント②】整数列が小数点にならないように強制変換
view_df["番"] = view_df["番"].fillna(0).astype(int)
view_df[status_cols] = view_df[status_cols].fillna(0).astype(int)

# 日付を表示用に文字列化
view_df["年月日_時分"] = view_df["年月日_時分"].dt.strftime("%Y-%m-%d %H:%M")

rename_dict = {"番": "#", "年月日_時分": "DATE_TIME", "なまえ": "NAME", "性": "S", "職業": "JOB", "種族": "RACE"}
final_df = view_df.rename(columns=rename_dict)

# ===== 5. 出力振り分け =====
output_filename = "Wiz_Member_List"

if mode == "1":
    output = tabulate(final_df, headers="keys", tablefmt="plain", showindex=False,
                      colalign=("right", "left", "left", "center", "left", "left") + ("right",) * 9 + ("left",))
    print("-" * 145)
    print(output)
    print("-" * 145)

elif mode == "2":
    # CSV出力 (float_formatを指定して小数点を防ぐ)
    final_df.to_csv(f"{output_filename}.csv", index=False, encoding="utf-8-sig")
    print(f"CSV出力完了: {output_filename}.csv")

elif mode == "3":
    output = tabulate(final_df, headers="keys", tablefmt="plain", showindex=False)
    with open(f"{output_filename}.txt", "w", encoding="utf-8") as f:
        f.write(output)
    print(f"テキスト出力完了: {output_filename}.txt")

elif mode == "4":
    final_df.to_excel(f"{output_filename}.xlsx", index=False)
    print(f"Excel出力完了: {output_filename}.xlsx")


### 何を直したか?
# 1. **`.str.replace(' ', '')`**: 倉庫キャラのデータに含まれる「全角スペース」を消去してから計算するようにしました。これで「1」が正しく「1」と認識されます。
# 2. **`astype(int)`**: 「番」の列を最後にもう一度整数に変換するようにしたので、`11.0` ではなく `11` と表示されます。
# これで、全角スペースが混じった「ありえない数値」の倉庫キャラも、名簿に正しく表示されるはずです!試してみてください。
# 次に気になる点があれば、またいつでもどうぞ!
# ==============================

  #  DATE_TIME         NAME            S    JOB      RACE      LV    AGE    HP    STR    IQ    PIE    VIT    AGL    LUC  CHANGES
  1  2026-02-09 02:05  じじぃ~        G    LORD     HUMAN     23     25   272     15    18     18     18     18     16  LV+2, HP+2, LUC+
  2  2025-03-08 22:00  じじぃ~        G    PRIEST   GNOME    105     20   155     18    14     12     18     14     15
  3  2026-02-01 07:30  じじぃ~        G    LORD     HUMAN     48     24   429     18    18     18     18     18     18  LV+1, HP+1, PIE+
  4  2026-02-09 02:05  じじぃ~        G    SAMURAI  DWARF     30     21   215     18    18     16     18     17     18  LV+2, HP+2, PIE+, V

# ==============================
なかなかに
使いやすい♪

生成AI様

得意不得意
センスによりけり

3回目の 挑戦で

じじぃ~ の
は~と を 鷲掴み♪

じじぃ~