无需转换或自定义迭代器,如何实现Polars DataFrame行迭代生成HTML表格?
Polars DataFrame 原生行迭代方案
你不需要转换到Pandas或自定义迭代器,Polars本身提供了原生的行迭代API,完全可以替代Pandas的itertuples():
1. 使用 rows(named=True) 返回具名元组迭代
这个方法直接返回行的具名元组迭代器,和itertuples()用法完全一致,支持通过列名属性访问值:
import polars as pl df = pl.DataFrame({ "name": ["Alice", "Bob"], "age": [30, 25] }) for row in df.rows(named=True): print(f"Name: {row.name}, Age: {row.age}")
输出:
Name: Alice, Age: 30 Name: Bob, Age: 25
rows()默认会把所有行加载到内存,适合中小型数据集。
2. 使用 iter_rows(named=True) 惰性迭代
如果是大型数据集,推荐用惰性迭代的iter_rows(),它不会一次性加载所有行,内存更友好:
for row in df.iter_rows(named=True): print(f"Name: {row.name}, Age: {row.age}")
用法和rows()完全一致,只是迭代器是惰性生成的。
额外选项:返回字典格式
如果需要用字典键值对访问,还可以给rows()或iter_rows()传return_dicts=True:
for row in df.iter_rows(return_dicts=True): print(f"Name: {row['name']}, Age: {row['age']}")
以上所有方法都是Polars原生实现,不需要依赖Pandas或自定义迭代逻辑,完全满足模板引擎生成HTML表格的行遍历需求。
内容的提问来源于stack exchange,提问作者char101
相关产品推荐
相关产品推荐

