回答編集履歴
3
解説しても無駄と判断
test
CHANGED
@@ -1,9 +1,36 @@
|
|
1
|
+
|
1
|
-
```
|
2
|
+
```python
|
3
|
+
import openpyxl as px
|
4
|
+
import os
|
5
|
+
import glob
|
6
|
+
from openpyxl import Workbook
|
7
|
+
|
8
|
+
#対象ファイルが格納されているフォルダ
|
9
|
+
target_dir = 'C:/Users/student/Documents/MyPython/hukusu'
|
10
|
+
#保存先
|
11
|
+
save_file = 'C:/Users/student/Documents/MyPython/hukusu/まとめ.xlsx'
|
12
|
+
#「まとめ.xlsx」作成
|
13
|
+
wb = px.workbook()
|
14
|
+
ws = wb.active
|
15
|
+
|
16
|
+
#「target_dir」にあるエクセルファイル一覧を取得
|
17
|
+
files = glob.glob(target_dir + '/*.xlsx')
|
18
|
+
#「target_dir」にあるエクセルファイルを読み込む
|
19
|
+
|
20
|
+
cnt=1#ファイルを一つ処理するごろに1行ずらす
|
21
|
+
for fname in files:
|
22
|
+
book = px.load_workbook(fname, data_only=True)
|
23
|
+
sheet = book.active
|
24
|
+
|
25
|
+
#行をループして、コピー&ペースト
|
26
|
+
n=0
|
27
|
+
t=30
|
2
28
|
for i in range(1,53):
|
3
29
|
for j in range(1,31):
|
4
|
-
#↓
|
5
|
-
copy =
|
30
|
+
copy = sheet.cell(row=i,column=j).value
|
6
|
-
|
31
|
+
|
7
|
-
ws.cell(row=
|
32
|
+
ws.cell(row=cnt,column=j+(t*n)+1,value=copy)
|
33
|
+
n+=1
|
34
|
+
cnt+=1
|
35
|
+
wb.save(save_file)
|
8
36
|
```
|
9
|
-
copy = sheet.cell(row=i,column=j).valueでは。あと転記先はrow=開いたブック数に対応する変数にしないと永遠に1行目に上書きし続けますよ
|
2
iではないので修正
test
CHANGED
@@ -6,4 +6,4 @@
|
|
6
6
|
#j+t*(n-1)これにより1列目からスタートできる。2列目は+1する。
|
7
7
|
ws.cell(row=1,column=j+t*(n-1)+1,value=copy)
|
8
8
|
```
|
9
|
-
copy = sheet.cell(row=i,column=j).valueでは。あと転記先はrow=
|
9
|
+
copy = sheet.cell(row=i,column=j).valueでは。あと転記先はrow=開いたブック数に対応する変数にしないと永遠に1行目に上書きし続けますよ
|
1
補足
test
CHANGED
@@ -6,4 +6,4 @@
|
|
6
6
|
#j+t*(n-1)これにより1列目からスタートできる。2列目は+1する。
|
7
7
|
ws.cell(row=1,column=j+t*(n-1)+1,value=copy)
|
8
8
|
```
|
9
|
-
copy = sheet.cell(row=i,column=j).valueでは。
|
9
|
+
copy = sheet.cell(row=i,column=j).valueでは。あと転記先はrow=iにしないと永遠に1行目に上書きし続けますよ
|