質問編集履歴

1

Excelファイルの内容を載せました。またスクリーンショットではなくプログラム自体を載せました。

2017/12/01 07:31

投稿

Looove
Looove

スコア11

test CHANGED
File without changes
test CHANGED
@@ -12,15 +12,141 @@
12
12
 
13
13
  ###該当のソースコード
14
14
 
15
+ Excelファイルです
15
16
 
17
+ ![![イメージ説明](05c8e0ffbded36e2271d54aa092c5678.png)](6f1e0f1ea51b4e051fb81947fa0656af.png)
16
18
 
17
- ![イメージ説明](f36607c9644b206944e89ed8e596b8c2.png)
19
+ ```
18
20
 
21
+ import xlrd
22
+
23
+ import os.path
24
+
19
- ![イメージ説明](c9cc230ebcc8ed1300890dd88c26f4de.png)
25
+ import numpy as np
26
+
27
+ import itertools
28
+
29
+ import sys
30
+
31
+ import openpyxl
20
32
 
21
33
 
22
34
 
23
- これだと以下のようにに出力されてしまいます
35
+ xlfile = "結果.xlsx"
36
+
37
+ if os.path.exists(xlfile):
38
+
39
+ xls = xlrd.open_workbook(xlfile)
40
+
41
+ sheet1 = xls.sheet_by_index(0)
42
+
43
+ nrows = sheet1.nrows
44
+
45
+ ncols = sheet1.ncols
46
+
47
+ data = np.zeros(ncols*nrows).reshape((nrows, ncols))
48
+
49
+ surablist = []
50
+
51
+ atusalist = []
52
+
53
+ seibunlist = []
54
+
55
+ kekkalist = []
56
+
57
+ b = range(1,37)
58
+
59
+ for r in range(0, nrows):
60
+
61
+ for c in range(0, ncols):
62
+
63
+ data[r,c] = sheet1.cell(r,c).value
64
+
65
+
66
+
67
+ for r in range(0, nrows):
68
+
69
+ surablist.append(data[r,0])
70
+
71
+ atusalist.append(data[r,2])
72
+
73
+ seibunlist.append(data[r,3])
74
+
75
+
76
+
77
+ for i, _ in enumerate(surablist, 2):
78
+
79
+ if i == 6:
80
+
81
+ sys.exit()
82
+
83
+ for j in itertools.combinations(surablist, r=i):
84
+
85
+ if i == 2:
86
+
87
+ n = int(j[0]-1)
88
+
89
+ m = int(j[1]-1)
90
+
91
+ if data[n,3] == data[m,3] and data[n,2] + data[m,2] <= 2.0:
92
+
93
+ kekkalist.append(j)
94
+
95
+
96
+
97
+ elif i == 3:
98
+
99
+ o = int(j[0]-1)
100
+
101
+ p = int(j[1]-1)
102
+
103
+ v = int(j[2]-1)
104
+
105
+ if data[o,3] == data[p,3] and data[o,3] == data[v,3] and data[p,3] == data[v,3] and data[o,2] + data[p,2] + data[v,2] <= 2.0:
106
+
107
+ kekkalist.append(j)
108
+
109
+
110
+
111
+ elif i == 4:
112
+
113
+ g = int(j[0]-1)
114
+
115
+ u = int(j[1]-1)
116
+
117
+ z = int(j[2]-1)
118
+
119
+ a = int(j[3]-1)
120
+
121
+ if data[g,3] == data[u,3] and data[g,3] == data[a,3] and data[g,3] == data[z,3] and data[u,3] == data[z,3] and data[a,3] == data[u,3] and data[z,3] == data[a,3] and data[g,2] + data[u,2] + data[z,2] + data[a,2] <= 2.0:
122
+
123
+ kekkalist.append(j)
124
+
125
+
126
+
127
+ else:
128
+
129
+ q = int(j[0]-1)
130
+
131
+ w = int(j[1]-1)
132
+
133
+ e = int(j[2]-1)
134
+
135
+ f = int(j[3]-1)
136
+
137
+ h = int(j[4]-1)
138
+
139
+ if data[q,3] == data[w,3] and data[q,3] == data[f,3] and data[q,3] == data[e,3] and data[q,3] == data[h,3] and data[w,3] == data[e,3] and data[f,3] == data[w,3] and data[h,3] == data[w,3] and data[e,3] == data[f,3] and data[e,3] == data[h,3] and data[f,3] == data[h,3] and data[q,2] + data[w,2] + data[e,2] + data[f,2] + data[h,2] <= 2.0:
140
+
141
+ kekkalist.append(j)
142
+
143
+ print (kekkalist)
144
+
145
+ ```
146
+
147
+
148
+
149
+ これだと例えばですが以下のようにに出力されてしまいます
24
150
 
25
151
 
26
152