我想编写一个python代码,搜索一行,其中给定列中的列表中有某个字符串,然后返回同一行中不同列中的单元格值
我希望它在一个循环中这样做,在名为“name”的列中搜索列表的每个元素(列表称为“files”),然后在“conv”列中返回同一行的值
for f in files:
name = (f[-21:-6])
print(name)
print (df.loc[df.names == name,'conv'].values[0])
我只把这个名字作为一个检查点打印出来,以查看它是否确实通过了列表。没有
print (df.loc[df.names == str(name),'conv'].values[0])'
这个代码有效。添加此行时,我收到一个错误:
索引器错误:索引0超出大小为0的轴0的界限
但是,如果我试图定位一个不是定义为变量而是定义为文本的字符串,那么这一行就行了
即
print (df.loc[df.names == 'A133C002_201014','conv'].values[0])
但这样我就不能让脚本在我的列表中重复读取
我试着在没有“for”循环的情况下检查这个
name = 'A133C002_201014'
print(df.loc[df.names == name,'conv'].values[0])
而且它也不起作用。因此,我假设问题在于搜索参数是可变的,而不是用倒逗号表示的字符串。这有什么办法吗
目前没有回答
相关问题 更多 >
编程相关推荐