2017-10-31 4 views
0

(データベースから受け取った)パンダのデータフレームがコンソールに出力されるのは、が完全となり、となることです。pythonどのようにパンダのデータフレームに長いテキストを整列させるには?

私が持っている課題は、2列の長いテキストに関してです:LPQ_REASON & LPQ_RESOLUTION。以下の出力(print df)から、両方のLPQ列が3ドット(...)で終了しているため、テキストを読み取ることができません。これは私の初期設定にもかかわらず来る:

pd.set_option('display.max_rows', 1500) 
pd.set_option('display.max_columns', 1500) 
pd.set_option('display.width', 1000) 

ので、コンソール上の結果は次のようになります。

 ID  DIS_CASE_ID      CREATION_DATE type_2         LPQ_REASON          LPQ_RESOLUTION RESOLUTION_CODE 
     0   727990   61180481 2017-01-05 13:47:05 7891 The LPQ we know is shorto add is 25% (h... This Memo was issued with conjunction to our j...    3979 
     1   727889   61180482 2017-01-05 13:51:09 7891 The LPQ he collide will increase 15% (h... This Memo was issued on matching viloation for...    3979 

私が(なんとか場合)を探してい最適解は、行全体を印刷しますあなたが望むよう

  ID  DIS_CASE_ID     CREATION_DATE type_2         LPQ_REASON          LPQ_RESOLUTION  RESOLUTION_CODE 
      0   727990 61180481 2017-01-05 13:47:05 7891 The LPQ we know is shorto add is 25% (here  This Memo was issued with conjunction to our    3979 
                     comes the rest of the sentence. it might be  analysis to foster a better bs when writing 
                     long, or not, it might be short or whatever) 

      1   727889 61180482 2017-01-05 13:51:09 7891 The LPQ he collide will increase 15% yes and This Memo was issued on matching viloation for     3979 
                     here I'm going to write the entire sentence who cares on what violation. just issued. 
                     as if I really remember what was written. ha 

答えて

0

として最適ではないが、あなたは次のことを試すことができます:よう

pd.set_option('display.max_colwidth',100) 

ここで、100は選択できる列幅です。これは複数行のセルを作成するのではなく、非常に長い列を作成します。

か:

あまりエレガントな、しかし あなたのような素敵なテキストテーブルを作成し、 'TABULATE' ライブラリ(https://pypi.python.org/pypi/tabulate)を試してみて、使用することができます:あなたは、\「を使用することができますTABULATEと

+--------+-------+ 
| item | qty | 
+========+=======+ 
| spam | 42 | 
+--------+-------+ 
| eggs | 451 | 
+--------+-------+ 
| bacon | 0 | 
+--------+-------+ 

n '改行文字。 あなたのテキストセルを繰り返し、X文字ごとに '\ n'を付けてください(50文字ごとに言うことができます)。

そのための簡単なコード:

for i in range(len(data)): 
    data.at[i,'text'] = data.at[i,'text'][0:50] + '\n' + data.at[i,'text'][50:] 

上記は、唯一の改行に制限されていますが、長いテキストのためのマルチ休憩を作るためにそれを改善することができます。また、単語の途中で壊れているかどうかは考慮されていません。

!あなたのデータが変更されるため、データのコピーで必ず確認してください。あなたが通常の 'print'でそれを印刷しようとすると、テキストの真ん中に '\ n'が表示されます!

関連する問題