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

質問編集履歴

1

内容が伝わりずらいため

2021/09/28 02:53

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,57 +1,42 @@
1
- リストを変数へ代入した値(all_list[0])を辞書のvalueに設定し、wb.save()内に代入してエクセルデータを作成しようとしています。
2
- フォルダの数は15個あります。変数folder(1,2・・・16)がフォルダ名なります。イメージしては、keyに設定した変数folder{key}に代入されkeyに紐づたvalueがループ完了したら次のkeyが代入・・・という流れをイメしています。
1
+ リストを変数へ代入した値[b,c,d,e]をkey['鹿','馬','猿','鳥']のvalue設定しています。出力結果からみると、keyを呼び出したのち、リストそのもの出力されますが、キに対して、value内のリストを一つずつ出力るやり方がわかりません
2
+ 出力結果と、欲しい結果を下記に記載してあります。
3
3
 
4
- 下記内容で実行したらエラーが表示され、フォルダにもエクセルファイルが作成されていません。
5
- 解決策がわらないため、ご教授お願いいたします。
4
+ お手数おけしますがご教授お願いいたします。
6
-
7
5
  ```Python
6
+ www = ['鹿','馬','猿','鳥']#keyに設定
7
+ a = [b,c,d,e]       #valueに設定
8
8
 
9
+ b = [5,6,7,8]
10
+ c = ['9','10','11','12']
9
- folder = ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','16']
11
+ d = ['13','14','15','16']
10
- datas = [all_list[0],all_list[1],all_list[2],all_list[3],all_list[4],all_list[5],all_list[6],all_list[7],all_list[8],all_list[9],all_list[10],all_list[11],all_list[12],all_list[13],all_list[14]]
12
+ e = ['17','18','19','20']
13
+
11
- so_dict = dict(zip(folder,datas))
14
+ so_dict = dict(zip(www,a))
12
15
  so_dict
13
- #so_dict」出力内容(量が多いので抜粋) 
16
+ 「出力内容
14
-    #key・・・保存先フォルダ名
17
+ {'猿': ['13', '14', '15', '16'],
15
-    #value・・・保存エクセルファイル名
18
+ '馬': ['9', '10', '11', '12'],
19
+ '鳥': ['17', '18', '19', '20'],
16
- {'1': ['1-1 可',
20
+ '鹿': [5, 6, 7, 8]}
17
- '1-2 香川',
18
- '1-3 土屋',
19
- '1-4 田中',
20
- '1-5 神戸',
21
21
 
22
- for key, value in so_dict.items():
22
+ for key,value in so_dict.items():
23
- wb = openpyxl.Workbook()
24
- wb.save(f'C:\Users\〇〇\OneDrive\デスクトップ\maruse\個別表\{key}\{value}.xlsx')
23
+ print(f'私は{key}です。{value}歳です。')
24
+ 「出力内容」
25
+ 私は鹿です。[5, 6, 7, 8]歳です。
26
+ 私は馬です。['9', '10', '11', '12']歳です。
27
+ 私は猿です。['13', '14', '15', '16']歳です。
28
+ 私は鳥です。['17', '18', '19', '20']歳です。
25
29
 
26
- エラー内容」
30
+ 欲しい内容」
27
- ---------------------------------------------------------------------------
28
- FileNotFoundError Traceback (most recent call last)
29
- <ipython-input-122-8bb5b8ca9050> in <module>
30
- 2 for key, value in so_dict.items():
31
- 3 wb = openpyxl.Workbook()#エクセルfileの作成
32
- ----> 4 wb.save(f'C:\Users\〇〇\OneDrive\デスクトップ\maruse\個別表\{key}\{value}.xlsx')
33
-
34
- ~\anaconda3\lib\site-packages\openpyxl\workbook\workbook.py in save(self, filename)
35
- 405 if self.write_only and not self.worksheets:
36
- 406 self.create_sheet()
37
- --> 407 save_workbook(self, filename)
38
- 408
39
- 409
40
-
41
- ~\anaconda3\lib\site-packages\openpyxl\writer\excel.py in save_workbook(workbook, filename)
42
- 289
43
- 290 """
31
+ 私は鹿です。5歳です。
44
- --> 291 archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
45
- 292 writer = ExcelWriter(workbook, archive)
32
+ 私は鹿です。6歳です。
33
+ 私は鹿です。7歳です。
34
+ 私は鹿です。8歳です。
35
+ 私は馬です。9歳です。
46
- 293 writer.save()
36
+ 私は馬です。10歳です。
47
-
48
- ~\anaconda3\lib\zipfile.py in __init__(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps)
49
- 1249 while True:
50
- 1250 try:
37
+ 私は馬です。11歳です。
51
- -> 1251 self.fp = io.open(file, filemode)
52
- 1252 except OSError:
38
+ 私は馬です。12歳です。
53
- 1253 if filemode in modeDict:
39
+ 私は猿です。13歳です。
54
-
55
- FileNotFoundError: [Errno 2] No such file or directory: "C:\Users\〇〇\OneDrive\デスクトップ\maruse\個別表\1\['1-1 可', '1-2 香川', '1-3 土屋 ', '1-4 田中', '1-5 神戸'
56
- #・・・リストが長いの省略
40
+   ・・・・20歳す。
41
+ 上記内容の出力結果を得るためにはどのようにしたらよろしでしょうか。
57
42
  ```