web-dev-qa-db-ja.com

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を後処理します。

この問題を解決する簡単な方法はありますか? documentation に関連するものは見つかりませんでした。

68
Timo

表示されているのは、pandas表示のみを目的とした出力の切り捨てです。

デフォルト max_colwidth値は50であり、これが表示されています。

この値を任意に設定するか、-1に設定してこれを効果的にオフにすることができます。

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

私はこれに反対することをお勧めしますが、コンソールまたはipythonで簡単に表示できるものに設定する方が良いでしょう。

オプションのリストはここにあります: http://pandas.pydata.org/pandas-docs/stable/options.html

94
EdChum

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)
17
Boris Gorelik