我刚刚开始使用 jinja2 并尝试从数据帧生成文本行。我的模板 weather.txt
如下所示:
{% for key, value in x.iterrows %}
The day {{ df["date"] }} was {{ df["weather"] }}.
{% endfor %}
数据框天气
看起来像这样:
date weather
0 2017-03-31 warm
1 2017-04-21 cold
2 2017-07-01 rainy
现在我真的不知道如何从中生成所需的输出。当我使用此代码时:
template = env.get_template("weather.txt")
output = template.render(x = weather)
print(output)
我得到TypeError:'method'对象不可迭代
最佳答案
正如警告所述,iterrows
是一种方法,因此您需要使用括号:
{% for _, row in weather.iterrows() %}
The day {{ row["date"] }} was {{ row["weather"] }}.
{% endfor %}
假设您的数据框确实名为weather
,这应该可以工作
关于python - 如何在 jinja2 中循环 pandas 数据框的行和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50762922/