回答編集履歴

3

修正

2020/12/26 00:50

投稿

退会済みユーザー
test CHANGED
@@ -166,7 +166,7 @@
166
166
 
167
167
  # codesに含まれる勘定コードがある行にデータを書き込む
168
168
 
169
- if code in codes:
169
+ if data.get(mise) and data[mise].get(code) and code in codes: # 修正
170
170
 
171
171
  write_values(wsws, row, 2, data[mise][code])
172
172
 
@@ -187,3 +187,7 @@
187
187
  wbwb.save("結果.xlsx")
188
188
 
189
189
  ```
190
+
191
+
192
+
193
+ ※上のコードでは、Book1にデータがなく、かつ結果.xlsxに既にデータがある場合、「結果.xlsx」の当該データは上書き消去されません

2

修正

2020/12/26 00:50

投稿

退会済みユーザー
test CHANGED
@@ -56,9 +56,9 @@
56
56
 
57
57
 
58
58
 
59
- last_col = 0
59
+ last_col = 1 # 修正
60
60
 
61
- for cell in ws["B:B"]:
61
+ for cell in ws["2:2"]: # 修正
62
62
 
63
63
  if cell.value is not None:
64
64
 

1

コメント修正

2020/12/11 11:34

投稿

退会済みユーザー
test CHANGED
@@ -1,10 +1,12 @@
1
- そもそも元のコードは力業で無理やり操作しようとしているため、正常な動作せようとする
1
+ そもそも元のコードは力業で無理やり操作しようとしているため、元のコードを生かしたまま希望の動作を行わように修正しよう思う
2
2
 
3
3
  かなり難しいと思いました。
4
4
 
5
5
 
6
6
 
7
7
  下記のようにデータを構造的に読み取り、構造的に書き込む必要があると思います。
8
+
9
+ (ただし下記コードも、月の並びについては考慮していない(Book1と結果.xlsxで月の並びが同じであることが前提となっている)ため汎用性に乏しいスクリプトである点は否めません)
8
10
 
9
11
 
10
12