Timo Timo - 2 months ago 21
Python Question

Pandas to_html() truncates string contents

I have a Python Pandas

DataFrame
object containing textual data. My problem is, that when I use
to_html()
function, it truncates the strings in the output.

For example:

import pandas
df = pandas.DataFrame({'text': ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.']})
print (df.to_html())


The output is truncated at
adapis...


<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>text</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td> Lorem ipsum dolor sit amet, consectetur adipis...</td>
</tr>
</tbody>
</table>


There is a related question on SO, but it uses placeholders and search/replace functionality to postprocess the HTML, which I would like to avoid:



Is there a simpler solution to this problem? I could not find anything related from the documentation.

Answer

What you are seeing is pandas truncating the output for display purposes only.

The default max_colwidth value is 50 which is what you are seeing.

You can set this value to whatever you desire or you can set it to -1 which effectively turns this off:

pd.set_option('display.max_colwidth', -1)

Although I would advise against this, it would be better to set it to something that can be displayed easily in your console or ipython.

A list of the options can be found here: http://pandas.pydata.org/pandas-docs/stable/options.html

Comments