前提・実現したいこと
anaconda + VS codeでPythonの勉強を本日から始めました。
マーケティング・パイソンという本で、「excelのルーチンワークを自動化する」という箇所で、以下のコードを紹介していたのでそのまま手入力でコードを打ち込んでみました。
すると、globの箇所まではきちんと動作したのですがopenpyxlから動かず、答えのコードをそのままコピペして実行しても同様の事象が起きております。
SyntaxError: invalid syntaxが構文ミスだということは調べてわかったのですが、コピペしても同様の事象が起こるので、理由がわからず困惑しております。
内容は、フォルダディレクトリの/task2/data/以下でExcelファイルがたくさん入っているものを、/task2/output/にまとめて新規ファイルを作成するというものです。
初心者なもので説明もよくないかもしれませんが、申し訳ございませんがわかる方いればお答えいただけますと幸いです。
何卒宜しくお願い致します。
発生している問題・エラーメッセージ
>>> C:/ProgramData/Anaconda3/python.exe c:/Users/[ユーザー名]/OneDrive/ドキュメント/python/tutorial/task2/task2_excel-merge.py File "<stdin>", line 1 C:/ProgramData/Anaconda3/python.exe c:/Users/[ユーザー名]/OneDrive/ドキュメント/python/tutorial/task2/task2_excel-merge.py ^ SyntaxError: invalid syntax
該当のソースコード
python
1import glob 2 3filelist = glob.glob('./task2/data/*.xlsx') 4 5import openpyxl 6 7out_workbook = openpyxl.Workbook() 8out_sheet = out_workbook.active 9out_sheet.title = '月報一覧' 10 11out_sheet['A1'].value = '報告日' 12out_sheet['B1'].value = '支店' 13out_sheet['C1'].value = '担当者' 14out_sheet['D1'].value = '売上目標(千円)' 15out_sheet['E1'].value = '売上実績(千円)' 16out_sheet['F1'].value = '差異(千円)' 17out_sheet['G1'].value = '達成率(%)' 18 19for i, file in enumerate(filelist): 20 workbook = openpyxl.load_workbook(file, data_only=True) 21 sheet = workbook['業務報告書'] 22 23 report_date = sheet['X1'].value 24 office = sheet['X2'].value 25 person = sheet['X3'].value 26 sales_goal = sheet['H9'].value 27 sales_result = sheet['H10'].value 28 sales_diff = sheet['H11'].value 29 sales_percentage = sheet['H12'].value 30 31 out_sheet.cell(row=i+2, column=1).value = report_date 32 out_sheet.cell(row=i+2, column=2).value = office 33 out_sheet.cell(row=i+2, column=3).value = person 34 out_sheet.cell(row=i+2, column=4).value = sales_goal 35 out_sheet.cell(row=i+2, column=5).value = sales_result 36 out_sheet.cell(row=i+2, column=6).value = sales_diff 37 out_sheet.cell(row=i+2, column=7).value = sales_percentage 38 39 out_sheet.cell(row=i+2, column=7).number_format = '0%' 40 out_sheet.cell(row=i+2, column=1).number_format = 'yyyy年mm月dd日' 41 42out_filename = './task2/output/月報一覧_202001.xlsx' 43out_workbook.save(out_filename)
試したこと
特になし
補足情報(FW/ツールのバージョンなど)
anaconda Python 3.8
VS CODE 1.50.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。