我将来自单元格范围的值连接到数组中,如果我有一个空值,我需要忽略这个数组并继续使用另一个数组。 什么是最好的方法? 这就是我到目前为止所做的(将arrs转换为str,因为它不允许我在单元格中使用空值)。
def get_names_and_probs(row, col, col1, col2):
prob_array = []
name_array = str(df.iloc[row, col]).replace(" ","").split(",")
name_array1 = str(df.iloc[row, col1]).replace(" ","").split(",")
name_array3 = str(df.iloc[row, col2]).replace(" ","").split(",")
C = np.array([[i.value for i in j] for j in ws['O1':'Q1']]).ravel()
С = list(C)
print(C)
for k in range(len(name_array)):
prob_array.append(C[0])
for k in range(len(name_array1)):
prob_array.append(C[1])
for k in range(len(name_array2)):
prob_array.append(C[2])
print(prob_array)
get_names_and_probs(0, 14, 15, 16)
在我的Excel中,我将列作为概率和包含值并与这些概率对应的单元格的列。它看起来像:
0 50 30 1
1 Oval, Round Irregular
2 Circumscribed
3 High density Equal density, Low density
4 Coarse or “popcorn-like”
例如,[1] [50]包含Oval和Round,[1] [30]为空,[1] [1]为不规则。
我要做的是从每一行获取一个数组,然后如果单元格包含多个值,则将其附加到数组,然后将其与上面的概率相关联。
在这种情况下,它应该看起来像name_arr = ['Oval', 'Round', 'Irregular']
,相应的概率应该是[50, 50, 1]
(由于空单元格而忽略30)。
提前致谢!