2020.10.27

【正誤情報】PythonでExcel、メール、Webを自動化する本

PythonでExcel、メール、Webを自動化する本

本書内の記載のうち、以下の項目で誤りがありました。
修正内容を提示させていただきますとともに、
ご迷惑をおかけいたしましたことを深くお詫び申し上げます。

■ 第1刷、第2刷、第3刷、第4刷

● p.100 「Excelファイルを1行ずつ読み込む」の4行目
誤)mir_row=
正)min_row=

● p.115 「xl_sheet_copy_to_book.py」
4行目の

ws = wb[“4月売上”]

というコードは不要です。
これは「4月売上」シートを取得するコードですが、変数wsには6~8行目のループでシートがひとつずつ代入されるので、4行目で取得しておく必要がありません。

4行目のコードを削除したサンプルファイルを2021/1/25に18時に公開済みです。


■ 第1刷、第2刷

● p.117 「xl_sheets_merge.py」のコードに誤りがあります。
44行目に以下のコードを追加して、修正してください。

        ws_new.cell(row_num, 6).value = “=D” + str(row_num) + “*E” + str(row_num)

これにより、42~45行目は以下のようになります。

    if row_num > 3:
        ws_new.cell(row_num, 1).number_format = “yyyy/m/d”
        ws_new.cell(row_num, 6).value = “=D” + str(row_num) + “*E” + str(row_num)
    row_num = row_num + 1

追加するコードは、F列(小計)のセルに「=D行番号*E行番号」という数式を入れるためのものです。
この修正を行わないと、F列(小計)に入る数式が読み込んだシートの内容そのままとなるため、貼り付けた行の行番号と一致しなくなり小計の計算結果がおかしくなります。

● p.121 「xl_books_merge.py」のコードにも、上記と同様の誤りがあります。
60行目に以下のコードを追加して、修正してください。

        ws_new.cell(row_num, 6).value = “=D” + str(row_num) + “*E” + str(row_num)

以上のコードの誤りについて、サンプルファイルの内容は2020/10/27の13時に修正済みです。


■ 第1刷

● p.48 表「よく用いるデータ型」の列見出し
誤)データ名称
正)データ名称

● p.57 ページ中ほど
誤)一方、先頭からある要素までを取得するには
正)一方、先頭からある要素の1つ手前までを取得するには

● p.102 下から2行目
誤)breakでループを中断します
正)breakでループを終了します

● p.102 コードの見出し
誤)1列目がNoneの場合はbreakで中断
正)1列目がNoneの場合はbreakで読み込み終了

● p.102 コード内の囲み
誤)ループを中断
正)ループを終了

● p.159 コード内の囲み
誤)ループを修了
正)ループを終了