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

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

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

openpyxl セルの背景色

# puthon

# openpyxl

# 背景色

# 色塗り

むひむひ
どんどん

YouTubeで
pythonの文法を
勉強していたのは
と~~~い むかし

その頃に書いた
すくりぷと

じじぃ~ なりに 改造

ぶひ!

# ==== 共通 旧と改造版
# ==== 背景色の 色指定 着色範囲
# ==== 背景色を変更 背景色

fill = openpyxl.styles.PatternFill(patternType='solid',
                                   fgColor='FF0000', bgColor='FF0000') # 真っ赤
                                   # fgColor='F0E68C', bgColor='F0E68C') # カーキ色 クリーム色 うすい黄色


# ==== 旧書き方
# ==== 変数 line_no_back_color で 2行目指定

line_no_back_color = 2 # 2行目

ws.cell(row=(line_no_back_color),column=1).fill = fill      # A列
ws.cell(row=(line_no_back_color),column=2).fill = fill      # B列
ws.cell(row=(line_no_back_color),column=3).fill = fill      # C列
ws.cell(row=(line_no_back_color),column=4).fill = fill      # D列
ws.cell(row=(line_no_back_color),column=5).fill = fill      # E列
ws.cell(row=(line_no_back_color),column=6).fill = fill      # F列
ws.cell(row=(line_no_back_color),column=7).fill = fill      # G列
ws.cell(row=(line_no_back_color),column=8).fill = fill      # H列

# ==== おわり


# ==== 改造版 書き方
# ==== 背景の塗る場所 指定
for row in ws["A2:H2"]: # 項目名行
    for cell in row:
        cell.fill = fill
# ==== おわり

うん!
すっきり・・・

じじぃ~

表計算 OFFSET

# =SUM(F3:F11)
# =SUM(F3:OFFSET(F12,-1,0))

にゃあにゃあw


表計算ソフト
便利で合ある


が!

データを追加したとき

=SUM(F3:F11)

だと 固定なので

追加行が 反映されない;;

手動で

=SUM(F3:F12)

とすれば 済む話であるが

めんどくさい!

【Gemini】様に ご相談

# ==== 【Gemini】様

4つほど 解決案を 提示された

その中の


OFFSET

を 使う方法

=SUM(F3:F11)
の部分を

=SUM(F3:OFFSET(F12,-1,0))
こ~~~かけや!
# ==============================

ほむほむ

お~~~
行を追加 したら

自動的に

修正される・・・


感謝♪

じじぃ~

雑学としての えいご???

ねっとにゅーす
で
野球用語の 見直し
しようか???

じゃあ

英語(MLB)では???

と

【chatGPT】様に

尋ねてみた

# ==== 【chatGPT】様

おお、これは野球英語の面白いところですw

| 日本語    | 英語(MLB)                       | 直訳っぽい意味  |
| ------ | ----------------------------- | -------- |
| 盗塁 | stolen base               | 盗んだ塁     |
| 死球 | hit by pitch (HBP)        | 投球に当てられた |
| 四球     | walk / base on balls (BB) | 歩いて一塁へ   |
| 三振     | strikeout (K)             | ストライクアウト |
| 本塁打    | home run (HR)             | ホームラン    |
| 犠牲フライ  | sacrifice fly (SF)        | 犠牲フライ    |
| 併殺     | double play (DP)          | ダブルプレー   |

特にご質問の2つは、

 ① 盗塁 = stolen base
これは非常にそのままです。
> He stole second base.
> 彼は二塁を盗んだ → 二塁へ盗塁した
MLBの記録では SB (Stolen Bases) と表記されます。

 ② 死球 = hit by pitch
ここが日本語とかなり違います。
日本語では
> 死球
ですが、英語では基本的に
> hit by pitch
「投球によって当てられた」という意味。
略して HBP。
たとえば実況・記事なら、
> He was hit by a pitch.
=「彼は死球を受けた」
となります。

ちなみに、hit by pitch は「デッドボール」という言い方ではありません。

英語の dead ball は別物で、
「ボールデッド(プレーが停止している状態)」という意味です。

なので、
日本語の「死球」≠ 英語の「dead ball」
ここ、かなり紛らわしいですw

そしてもう一つ面白いのが、
「四球」= walk
です。

「ボール4個だから four balls」とは普通言わず、

> He walked.
=「四球で出塁した」

となります。

野球英語、直訳すると妙に面白いんですよねw
盗塁 → baseを盗む、四球 → 歩く、死球 → 投球に当てられる。
# ==============================

不思議な 世界だw

 

じじぃ~
 

ぱいそん openpyxl

# python
# openpyxl
# セル内のセンタリング
# 水平垂直


にゃあ~~~ご;;

うまく
書式設定できない

【Gemini】様に
泣きついた;;


# ==== 【Gemini】様

`horizontal="center"` 
と
 `horizontal="centerContinuous"` 
は、Excelの「文字の配置」における役割が異なります。


 1. 2つの設定の違い
* `horizontal="center"`(標準の中央揃え)
* セル単体の中で文字を左右中央に配置します。一般的な中央揃えです。

* `horizontal="centerContinuous"`(選択範囲内で中央)
* Excelの「選択範囲内で中央」(Center Across Selection)の機能です。セル結合を行わずに、選択した連続するセル群の中央に文字を表示したい場合に使います。



 2. コード記述時の重要な注意点(上書き問題)

提示していただいたコードでは、
`Alignment` を毎回新しく生成して代入しているため、
直前の設定が上書きされて消えてしまいます。

# ✕ 間違った書き方(最後の vertical="center" だけが有効になり、水平方向がリセットされる)
cell.alignment = Alignment(horizontal="centerContinuous")
cell.alignment = Alignment(horizontal="center")
cell.alignment = Alignment(vertical="center")


 3. 目標(上下左右の中央揃え)
を達成する正しい書き方

水平方向・垂直方向の両方を中央に揃える場合は、1つの `Alignment` 
オブジェクトにまとめて指定します。

from openpyxl.styles import Alignment

# A1:K2 の範囲を上下左右中央揃えにする
for row in ws["A1:K2"]:
    for cell in row:
        cell.alignment = Alignment(horizontal="center", vertical="center")
# ==============================

にゃあ;;

じじぃ~