Python for循环输出Excel/pandas数据时如何隐藏表头行不打印?
问题解决方法
你现有代码每次打印df.loc[i:i]时输出表头,是因为该语法返回的是单行列的DataFrame结构,pandas打印DataFrame时默认会自动输出列名(即表头)和行索引。可以通过以下方式实现仅输出纯数据:
方案1:for循环内逐行打印
场景1:仅需要输出原始数据值
直接按位置取单行数据转列表即可,不会带任何表头/索引信息:
for i in range(0,10): # iloc按位置取行,避免DataFrame行索引不连续时loc报错 print(df.iloc[i].tolist())
场景2:需要保留原表格的对齐排版
如果需要和原DataFrame一样的空格对齐格式,仅隐藏表头和索引,使用to_string方法控制输出参数:
for i in range(0,10): print(df.loc[i:i].to_string(header=False, index=False))
参数说明:
header=False:关闭表头输出index=False:关闭行索引输出,若需要保留行号可删除该参数
方案2:无需for循环,批量输出前10行纯数据
如果不需要对单行做额外逻辑处理,直接批量输出前10行的纯数据,写法更简洁:
print(df.head(10).to_string(header=False, index=False))
内容的提问来源于stack exchange,提问作者Kan
相关产品推荐
相关产品推荐

