我有一份来自美国图书馆的美国州列表。我试图然后遍历 excel 文件中的一列,以查看该列中的任何单元格是否包含任何美国州。如果是这样,那么我将删除这些行。
excel_file = pd.read_excel('file.xlsx', sheet_name = 'sheet')
states = us.states.STATES
for i in range(len(excel_file['Column Label'])):
if any(states) in excel_file['Column Label'][i]:
print(i)
现在我在循环中有一个打印语句只是为了查看弹出哪些索引,但循环本身不起作用。我收到此错误。
TypeError: 'in ' 需要字符串作为左操作数,而不是 bool
这不是什么any()
。any()
循环遍历一个可迭代对象并True
在该可迭代对象中的任何一个结果为 时返回True
。
例如:
any([False, False, False]) => False
any([False, True, False]) => True
为了更轻松地阅读您要执行的操作,我切换到enumerate()
循环而不是范围。这将返回我们正在迭代的索引和当前值。对于工作表中的每个条目,我们可以检查该条目是否在您的状态列表中。
print()
此处的语句打印i
匹配的值和您的条目。
for i, entry in enumerate(excel_file['Column Label']):
if entry in states:
print(i, entry)
注意:Python 隐藏了这个练习需要嵌套循环的事实。顶部 for 循环很明显,但in
这里的关键字是创建自己的循环。它正在与entry
中的每个项目进行比较states
,至少直到找到匹配项为止。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句