# PythonによるCSVファイルの自動読込とExcelブックの自動更新
# システムから出力したCSVファイルのデータを読み込み、主ファイル(工事情報.xlsx)を更新する
# 必要なモジュールを呼び出す
import os
import pandas as pd
import xlsxwriter
import openpyxl
# 主ファイルがあるディレクトリ「dir」を指定する
dir = r'C:\Users\......\......\......\......\......'
# システムから出力したCSVファイルのパス「lpath」を指定する
lpath = r'C:\Users\......\......\......\......\......\CSVデータ.csv'
# CSVファイルのデータを読み込み、「df」に格納する
df = pd.read_csv(lpath)
# 主ファイルの名称「nam」を指定し、パス「path」を生成する
nam = '工事情報.xlsx'
path = os.path.join(dir,nam)
# CSVファイルのデータによって更新する主ファイルの既存のシート名「shi」を指定する
shi = '元データ'
# 主ファイルを開き、 既存のシートを削除してその実行結果を画面表示し、上書き保存して、主ファイルを閉じる
wb = openpyxl.load_workbook(path)
del wb[shi]
print('「'+nam+'」から既存のシート「'+shi+'」を削除しました')
wb.save(path)
wb.close()
# CSVファイルのデータ「df」を、削除したシートと同じ名前「shi」で新規のシートとして書き込み、その実行結果を画面表示する
with pd.ExcelWriter(path, engine="openpyxl", mode="a") as writer:
df.to_excel(writer, sheet_name=shi,header=True,index=False)
print('「'+nam+'」にCSVデータの内容で新規のシート「'+shi+'」を作成しました')