2014-10-09 5 views
41

मेरे पास पाइथन पांडस DataFrame ऑब्जेक्ट टेक्स्ट टेक्स्ट है। मेरी समस्या यह है कि जब मैं to_html() फ़ंक्शन का उपयोग करता हूं, तो यह आउटपुट में स्ट्रिंग को छोटा करता है।पांडस 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> 

पर काट दिया गया है वहाँ इतने पर एक संबंधित सवाल है, लेकिन यह प्लेसहोल्डर और खोज का उपयोग करता है/कार्यक्षमता की जगह एचटीएमएल, postprocess को जो मैं इससे बचना चाहूंगा:

क्या इस समस्या का कोई आसान समाधान है? मुझे documentation से संबंधित कुछ भी नहीं मिला।

+0

आप सामग्री कैसे देख रहे हैं, इसके माध्यम से है IPython? इस 'pd.set_option (' display.max_colwidth ', -1)' को आज़माएं और फिर एचटीएमएल प्रिंट करें, आपको यह पता होना चाहिए कि यह पूर्ण पाठ प्रदर्शित करता है, यह वास्तविक डेटा के छंटनी के साथ कुछ भी नहीं है केवल एक प्रदर्शन सेटिंग – EdChum

+0

@ एडचम हां, वास्तव में मैं एचटीएमएल ट्रॉफी आईपीथन देख रहा था, लेकिन सामान्य पाइथन टर्मिनल में भी यही परिणाम मिला। लेकिन हाँ, set_option इसे ठीक करता है! टर्मिनल और आईपीथन दोनों में। इससे पहले कि संभावना के बारे में पता नहीं था। – Timo

+0

पांडा आपको आउटपुट के डिस्प्ले रीम्स से बचाने की कोशिश करता है जो कम पाइथन वातावरण को मार सकता है, अस्पष्ट बग के अलावा मैंने कभी भी डेटा को छीनने के बारे में नहीं सुना है – EdChum

उत्तर

58

जो आप देख रहे हैं वह केवल पांडों को प्रदर्शन उद्देश्यों के लिए आउटपुट को छोटा कर रहा है।

डिफ़ॉल्ट max_colwidth मान 50 है जो आप देख रहे हैं।

आप इस मूल्य जो कुछ भी आप की इच्छा सेट कर सकते हैं या आप -1 के लिए सेट कर सकते हैं जो प्रभावी रूप से इस बंद हो जाती है:

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

हालांकि मैं इस के खिलाफ सलाह देंगे, यह बेहतर होगा कुछ करने के लिए यह निर्धारित करने के लिए जिसे आपके कंसोल या आईपीथॉन में आसानी से प्रदर्शित किया जा सकता है।

विकल्पों की एक सूची यहां पाया जा सकता: http://pandas.pydata.org/pandas-docs/stable/options.html

+4

'" ... "df.to_html() 'में' सत्य 'का मूल्यांकन करता है। यह निश्चित रूप से लगता है कि 'पांडा' आउटपुट मूल्य को छोटा कर रहा है, केवल प्रदर्शन ही नहीं। –

+0

डाउनवॉटर की व्याख्या करने की देखभाल? – EdChum

8

ऐसा लगता है कि वास्तव में pd.set_option('display.max_colwidth', -1) एकमात्र विकल्प है। कैसे dataframes कंसोल में प्रस्तुत कर रहे हैं के अपरिवर्तनीय वैश्विक परिवर्तनों को रोकने के लिए, आप इस प्रकार एक चर में पहले की सेटिंग बचाने के लिए और उपयोग के बाद तुरंत उसे पुनर्स्थापित कर सकती,:

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) 
+15

अस्थायी विकल्प सेट करने का एक बहुत ही आसान समाधान है: 'pd.option_context (' display.max_colwidth ', -1) के साथ: output_html = df.to_html() ' – hynekcer

संबंधित मुद्दे