gpt4 book ai didi

python - 如何在 pandas.to_latex() 生成的 LaTeX 表中自动换行文本?

转载 作者:行者123 更新时间:2023-12-02 07:13:09 35 4
gpt4 key购买 nike

我正在使用 pandas.DataFrame.to_latex() 自动将文本填充的 pd.DataFrame 转换为 LaTeX 表。一切看起来都很好,但如果文字很长,它就不会被破坏。使用

longtable = True

没有帮助。这是我的设置

df.to_latex(multicolumn = True, header = True, index_names = False, 
index = False, longtable = True)

最佳答案

在 LaTeX 表格中,您可以使用 {table spec} 参数控制表格的列格式,如下所示

\begin{tabular}[pos]{table spec}

pandas.DataFrame.to_latex()可以使用column_format参数将格式字符串传递给该参数。如果您想固定两列,请使用例如

column_format='p{3.5cm}|p{5cm}'

这是一个简短的示例,说明如何利用它来解决与您的问题类似的问题:

import pandas as pd
import string

# Creating mock data
data_lower = string.ascii_lowercase
data_lower = ' '.join(data_lower[i:i+3] for i in range(0, len(data_lower), 3))
# >>> abc def ghi jkl mno pqr stu vwx yz
data_upper = string.ascii_uppercase
data_upper = ' '.join(data_upper[i:i+3] for i in range(0, len(data_upper), 3))
# >>> ABC DEF GHI JKL MNO PQR STU VWX YZ

df = pd.DataFrame({'this is a long entry in the table in minuscules':
data_lower,
'THIS IS A LONG ENTRY IN THE TABLE IN MAJUSCULES':
data_upper}, index=[0])

df.to_latex(multicolumn=True, header=True, index_names=False,
index=False, column_format='p{3.5cm}|p{5cm}')

这给出

\begin{tabular}{p{3.5cm}|p{5cm}}
\toprule
this is a long entry in the table in minuscules & THIS IS A LONG ENTRY IN THE TABLE IN MAJUSCULES \\
\midrule
abc def ghi jkl mno pqr stu vwx yz & ABC DEF GHI JKL MNO PQR STU VWX YZ \\
\bottomrule
\end{tabular}

并分别在 3.5cm 和 5cm 处断开表格中的线条

enter image description here

如果删除 column_format='p{3.5cm}|p{5cm}' 参数,您最终会在 latex 表中出现太长的单元格条目,我认为这是您的问题.

关于python - 如何在 pandas.to_latex() 生成的 LaTeX 表中自动换行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579294/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com