J.S*_*der 8 python export pandas
问题:我尝试pandas.DataFrame使用将 a 导出到 LaTex .to_latex()。
但是,长值(在我的例子中是长字符串)的输出会被截断。
重现步骤:
import pandas as pd
df = pd.DataFrame(['veryLongString' * i for i in range(1, 5)], dtype='string')
print(df.to_latex())
Run Code Online (Sandbox Code Playgroud)
输出:
\begin{tabular}{ll}
\toprule
{} & 0 \\
\midrule
0 & veryLongString \\
1 & veryLongStringveryLongString \\
2 & veryLongStringveryLongStringveryLongString \\
3 & veryLongStringveryLongStringveryLongStringvery... \\
\bottomrule
\end{tabular}
Run Code Online (Sandbox Code Playgroud)
如您所见,最后一行被截断(带有...)。我已经尝试使用该col_space参数,但这不会改变预期的行为。它只是简单地移动表格单元格,如下所示:
\begin{tabular}{ll}
\toprule
{} & 0 \\
\midrule
0 & veryLongString \\
1 & veryLongStringveryLongString \\
2 & veryLongStringveryLongStringveryLongString \\
3 & veryLongStringveryLongStringveryLongStringvery... \\
\bottomrule
\end{tabular}
Run Code Online (Sandbox Code Playgroud)
如何获取导出到 Latex 的 DataFrame 的完整内容?
San*_*uhh 10
您可以使用语句调用上下文管理器with来临时更改最大列宽:
with pd.option_context("max_colwidth", 1000):
print (df.to_latex())
Run Code Online (Sandbox Code Playgroud)
输出:
\begin{tabular}{ll}
\toprule
{} & 0 \\
\midrule
0 & veryLongString \\
1 & veryLongStringveryLongString \\
2 & veryLongStringveryLongStringveryLongString \\
3 & veryLongStringveryLongStringveryLongStringveryLongString \\
\bottomrule
\end{tabular}
Run Code Online (Sandbox Code Playgroud)
此处也描述了此行为。
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |