2012-03-11 17 views
49

मैं अजगर और पांडा के लिए नया हूँ। मैं tsv फ़ाइल को पांडा DataFrame में लोड करने की कोशिश कर रहा हूं।मैं एक पांडस डेटाफ्रेम में एक tsv फ़ाइल कैसे लोड करूं?

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t')) 

Traceback (most recent call last): 
    File "<pyshell#28>", line 1, in <module> 
    df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t')) 
    File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__ 
    raise PandasError('DataFrame constructor not properly called!') 
PandasError: DataFrame constructor not properly called! 
+1

2017+ में इस उत्तर में आने वाले लोगों के लिए, 'read_csv (' path_to_file ', sep =' \ t ')' का उपयोग करें। [नीचे यह जवाब] देखें (https://stackoverflow.com/a/34548894/3707607) –

उत्तर

60

प्रलेखन सूचीबद्ध करता है एक .from_csv समारोह आप क्या चाहते करने के लिए प्रतीत होता है कि:

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t') 

यदि आपके पास

यह मैं क्या कोशिश कर रहा हूँ और त्रुटि मैं हो रही है एक हेडर, आप header=0 पास कर सकते हैं।

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t', header=0) 
+3

मुझे इस विधि के साथ कुछ समस्याएं थीं - यह अंत में बहुत धीमी और विफल इंडेक्सिंग थी। इसके बजाय, मैंने read_table() का उपयोग किया, जो बहुत तेज़ और अतिरिक्त पैरा के बिना काम करता था। – Yurik

+0

मुझे खाली 'कॉलम' मिलते हैं और डेटा गड़बड़ का गुच्छा है, क्या यह शीर्ष पंक्ति के रूप में हेडर के साथ टैब-पृथक .txt पढ़ सकता है, मुझे नहीं लगता। –

+7

ध्यान दें कि 17.0 'from_csv' के रूप में निराश है: इसके बजाय 'pd.read_csv' का उपयोग करें! – rafaelvalle

39

read_table(filepath) का उपयोग करें। डिफ़ॉल्ट विभाजक टैब

+0

read_table को किसी भी पैरामीटर की आवश्यकता नहीं है। पूरी तरह से काम कर रहा है। – Jay

38

17.0 from_csv के रूप में निराश है।

pd.read_csv(fpath, sep='\t') या pd.read_table(fpath) का उपयोग करें।

1

फ़ाइल खोलने, .csv के रूप में सहेजें और फिर उसे लागू DF = pd.read_csv ('apps.csv' सितम्बर = '\ t')

किसी अन्य प्रारूप भी के लिए, बस सितम्बर टैग बदलने के

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