我有一个动态数据框,它可以正常运行,但当没有数据添加到数据框中时,我会收到一个错误。因此,我需要一个解决方案来创建一个仅包含列名的空数据框。
目前我有类似以下代码:
df = pd.DataFrame(columns=COLUMN_NAMES) # Note that there is no row data inserted.
PS:重要的是列名仍然会出现在DataFrame中。
但是当我像这样使用它时,我得到了以下结果:
Index([], dtype='object')
Empty DataFrame
“空数据框”部分很好!但是我仍然需要显示列,而不是索引。
我发现一个重要的事情:我正在使用Jinja2将此DataFrame转换为PDF,因此我首先调用一个方法将其输出到HTML:
df.to_html()
这是我认为列丢失的地方。
总体上,我遵循了这个例子:http://pbpython.com/pdf-reports.html。CSS也是来自该链接。这是我将数据框发送到PDF的方法:
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template("pdf_report_template.html")
template_vars = {"my_dataframe": df.to_html()}
html_out = template.render(template_vars)
HTML(string=html_out).write_pdf("my_pdf.pdf", stylesheets=["pdf_report_style.css"])