teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

頂いた回答を元に、openpyxlで解決しようとしましたがうまくいかない状況です。

2021/01/26 06:45

投稿

Zhiye
Zhiye

スコア7

title CHANGED
File without changes
body CHANGED
@@ -45,19 +45,36 @@
45
45
  解決方法として、
46
46
  ・skiprowsで読み込まなかった6行分だけのExcel(ファイル名:表題のみ.xlsx)をopenpyxlにより生成
47
47
  ・この“表題のみ”のExcelを上記で生成した各Excelに挿入すればよいのではないか、
48
- と考えましたが、どのようにコードを書けばよいか分からず困っています
48
+ と考えました。
49
49
 
50
+ コードを書きましたがうまくいかない状況です。
51
+ 誠に申し訳ありませんが、アドバイスを頂ければ大変助かります。
52
+ 宜しくお願い致します。
53
+
54
+ (実施していることの続き)
50
55
  ```
51
- wb = openpyxl.load_workbook('C:\Users\表題のみ.xlsx')
56
+ import_file_path_02 = export_file_path+'\'+'管理_'+last_month.strftime('%Y%m')+'-'+i+'.xlsx'
52
- ws = wb['Sheet1']
53
57
 
54
- ・・・・・・
58
+ #コピー先のエクセルを読み込む
59
+ wb1 = openpyxl.load_workbook(import_file_path_02)
60
+ ws1 = wb1['Sheet1']
61
+ #コピー元のエクセルを読み込む
62
+ wb2 = openpyxl.load_workbook('C:\Users\表題のみ.xlsx')
63
+ ws2 = wb2['管理']
55
64
 
65
+ #コピー先の1行目から15行挿入
66
+ ws1.insert_rows(1,15)
67
+
68
+ #コピー元のコピー範囲を指定して貼り付け
69
+ for i in range(1,23):
70
+ for j in range(1,15):
71
+ copy = ws2.cell(row=i,column=j).value
72
+ ws1.cell(row=i,column=j,value=copy)
73
+
74
+ wb1.save(import_file_path_02)
75
+
56
76
  ```
57
- そもそもこの考え方が正しいのか、別の方法があれば是非ご教示頂ければと存じます。
58
- 本当に申し訳ありませんが、何卒宜しくお願い致します。
59
77
 
60
-
61
78
  ### 環境
62
79
  Python 3.7 :: Anaconda custom (64-bit)
63
80
  pandas 1.05