如何从Pandas DataFrame提取首个元素?获取目标表头内容的方法
代码修正方案及解释
修正后的代码
ods_file = io.BytesIO(response.body) df = read_ods(ods_file, sheet_name) # 提取目标文本并清理格式 target_content = df.index[0].strip("[]") print(target_content)
修正细节解释
原代码问题分析
原代码中df.apply(lambda c: str(c[0]).strip("[]"))会遍历DataFrame的每一列,提取每列第一行的值并处理,最终返回一个包含所有列结果的Series,因此输出了多余的unnamed.*行内容。核心修正逻辑
从输出结果可以看到,目标内容[Report for: 02-Nov-2022]是DataFrame第一行的索引名称,因此直接通过df.index[0]获取该索引值,再用strip("[]")去除首尾的方括号,就能得到干净的目标文本。备选情况处理
如果目标内容实际存储在DataFrame第一行第一列的单元格中(而非索引),可改用以下代码:
target_content = df.iloc[0, 0].strip("[]")
内容的提问来源于stack exchange,提问作者lils
相关产品推荐
相关产品推荐

