Pandas to_html() обрезает содержимое строки
У меня есть объект Python Pandas DataFrame
, содержащий текстовые данные. Моя проблема в том, что когда я использую to_html()
, она обрезает строки в выводе.
Например:
import pandas
df = pandas.DataFrame({'text': ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.']})
print (df.to_html())
Выход усекается при 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>
Есть вопрос, связанный с SO, но он использует заполнители и функцию поиска/замены для постпроцесса HTML, чего я бы хотел избежать:
Есть ли более простое решение этой проблемы? Я не мог найти ничего из документации .
Ответы
Ответ 1
То, что вы видите, это pandas усечение вывода только для отображения.
Значение по умолчанию max_colwidth
равно 50, что вы видите.
Вы можете установить это значение в соответствии с тем, что хотите, или вы можете установить его на -1, что эффективно отключает его:
pd.set_option('display.max_colwidth', -1)
Хотя я бы посоветовал это сделать, было бы лучше установить его на то, что можно легко отобразить в консоли или ipython.
Список параметров можно найти здесь: http://pandas.pydata.org/pandas-docs/stable/options.html
Ответ 2
кажется, что pd.set_option('display.max_colwidth', -1)
действительно единственный вариант. Чтобы предотвратить необратимые глобальные изменения в представлении данных в консоли, вы можете сохранить предыдущий параметр в переменной и восстановить его сразу после использования следующим образом:
old_width = pd.get_option('display.max_colwidth')
pd.set_option('display.max_colwidth', -1)
open('some_file.html', 'w').write(some_data.to_html())
pd.set_option('display.max_colwidth', old_width)