在pandas dataframe的文本列中显示嵌入式新线



我试图在jupyter笔记本中显示带有mutiline文本列(例如代码代码(的数据帧:

IPython.display.display(df)

不幸的是,这不尊重文本中的新线,而是将每个单元格变成文本墙。

如何显示保存文本单元格中线折的数据框?

使用pandas .set_properties()和css white-space属性

我首选的方法是使用pandas的pandas.io.formats.style.styler.set_properties((方法和CSS "white-space": "pre-wrap"属性:

from IPython.display import display
# Assuming the variable df contains the relevant DataFrame
display(df.style.set_properties(**{
    'white-space': 'pre-wrap',
})

要保持文本左对齐,您可能需要添加'text-align': 'left'如下:

from IPython.display import display
# Assuming the variable df contains the relevant DataFrame
display(df.style.set_properties(**{
    'text-align': 'left',
    'white-space': 'pre-wrap',
})

尝试 @Unsorted对此问题的回答:

from IPython.display import display, HTML
def pretty_print(df):
    return display( HTML( df.to_html().replace("\n","<br>") ) )

最新更新