我正在编写一个脚本来搜索数据库中的过滤器,并将结果与给我的xlsx文件进行比较。由于给定xlsx的格式,我的过滤器列表有时包含字符串的子列表,有时包含相同位置的字符串。当我进行实际比较时,我尝试检查子列表的长度,以使用此代码运行特定于子列表的检查
if len(filters[x][1])>1:
使用此代码块构建过滤器列表
while(tpSheet.cell(i,0).value!=''):
filterNum = tpSheet.cell(i,0).value.split(':')
if tpSheet.cell(i,2).value.startswith('in'):
temp = tpSheet.cell(i,2).value[3:].replace(' ','').replace('in',',').split(',')
filters.append([filterNum[0],[tpSheet.cell(i,1).value,temp[1]],[temp[0],temp[2]]])
else:
filters.append([filterNum[0],[tpSheet.cell(i,1).value],tpSheet.cell(i,2).value])
i+=1
我不太确定如何为此目的区分列表和字符串
答案 0 :(得分:0)
也许这个例子可以帮助您对类型歧视进行排序:
test = [123,None,“123”,[123,“123”]]
for item in test:
if isinstance(item, int):
print item, "is an integer"
elif isinstance(item, str):
print item, "is a string"
elif isinstance(item, list):
print item, "is a list"
else:
print item, "is something else"
输出:
123 is an integer
None is something else
123 is a string
[123, '123'] is a list