我正在使用ILOC从熊猫中提取csv中的数据。当我想提取没有任何内容的列和行的文本时,只会抛出此错误: IndexError:单个位置索引器超出范围
我完全知道为什么会出现此错误,但是我想代替错误我只是不放任何东西或类似的东西。
当我尝试从一个空单元格中提取文本时,有没有办法给我一个无,0或类似的东西?
这是代码:
products = pd.read_csv("priv/products.csv")
product_1 = products.iloc[0,1]
答案 0 :(得分:0)
看起来像语法错误。对于documentation,您只能将以下内容作为输入传递给iloc
:
.iloc []主要是基于整数位置(从0到轴的长度1),但是也可以与布尔数组一起使用。
允许的输入为:
一个整数,例如5。
整数列表或数组,例如[4,3,0]。
带有整数的切片对象,例如1:7。
一个布尔数组。
基于此,这可能会解决您的问题:
products = pd.read_csv("priv/products.csv")
product_1 = products.iloc[[0,1]]
答案 1 :(得分:0)
您始终可以将其粘贴在try块中。如果发现代码混乱,可以创建一个辅助函数。
def tryloc(df, col, idx, default=None):
try:
return df.iloc[col, idx]
except IndexError:
return default
products = pd.read_csv("priv/products.csv")
product_1 = tryloc(products, 0, 1)