2016-03-08 70 views
3

我知道熊貓確實截斷了長元素。但是,爲什麼它會在html輸出中做到這一點?熊貓html:不截斷長值

import pandas as pd 
df = pd.DataFrame(columns=['url'], index=[0]) 
df['url'] = 'd12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209d12dn1928d1n298dn18d9n219d8n18n118219d8n21e12903e21kj9012j9301j2391023j209' 
In [2]: df 
Out[2]: 
               url 
0 d12dn1928d1n298dn18d9n219d8n18n118219d8n21e129... 

In [3]: df.to_html() 
Out[3]: u'<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n  <th></th>\n  <th>url</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n  <th>0</th>\n  <td>d12dn1928d1n298dn18d9n219d8n18n118219d8n21e129...</td>\n </tr>\n </tbody>\n</table>' 

即使在html輸出中(顯然它不適合屏幕寬度),列值也會被截斷。我怎樣才能強制pandas不截斷,無論有沒有HTML?

+0

不是這這樣的欺騙:http://stackoverflow.com/questions/26277757/pandas-to-html-truncates-string -contents/26301947#26301947? – EdChum

+0

@EdChum爲非HTML部分,我猜。然而,我也部分地要求它背後的邏輯..爲什麼它的列表長度不應該無論如何,值仍然被截斷? – FooBar

+0

對'to_string'也是這樣,爲什麼我可以認爲它只是一個約定,所以你的終端不會試圖顯示非常寬的數據和大量的行,基礎數據不受影響。 – EdChum

回答

2

您可以關閉與截斷顯示選項:

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