2012-03-14 8 views
7

मैं निम्न स्वरूप के साथ कुछ पाठ फ़ाइलें है:csv फ़ाइलों से डेटा लोड करने के लिए pandas.read_csv का उपयोग करते समय dtype निर्दिष्ट करने के लिए कैसे?

000423|东阿阿胶|  300|1|0.15000|   | 
000425|徐工机械|  600|1|0.15000|   | 
000503|海虹控股|  400|1|0.15000|   | 
000522|白云山A|  |2|  | 1982.080| 
000527|美的电器|  900|1|0.15000|   | 
000528|柳 工|  300|1|0.15000|   | 

जब मैं read_csv का उपयोग उन्हें DataFrame में लोड करने, यह कुछ स्तंभों के लिए सही dtype उत्पन्न नहीं करता है। उदाहरण के लिए, पहला कॉलम int के रूप में पार्स किया गया है, यूनिकोड स्ट्र नहीं, तीसरा कॉलम यूनिकोड स्ट्र के रूप में पार्स किया गया है, int नहीं, एक लापता डेटा की वजह से ... क्या डेटाफ्रेम के प्रकार को प्रीसेट करने का कोई तरीका है, जैसे कि numpy.genfromtxt करता है?

अपडेट: मैं read_csv इस तरह जो समस्या का कारण प्रयोग किया है:

data = pandas.read_csv(StringIO(etf_info), sep='|', skiprows=14, index_col=0, 
         skip_footer=1, names=['ticker', 'name', 'vol', 'sign', 
         'ratio', 'cash', 'price'], encoding='gbk') 

दोनों dtype और एन्कोडिंग समस्याओं को हल करने, मैं का उपयोग करने की जरूरत है आदेश में unicode() और numpy.genfromtxt पहले:

etf_info = unicode(urllib2.urlopen(etf_url).read(), 'gbk') 
nd_data = np.genfromtxt(StringIO(etf_info), delimiter='|', 
         skiprows=14, skip_footer=1, dtype=ETF_DTYPE) 
data = pandas.DataFrame(nd_data, index=nd_data['ticker'], 
         columns=['name', 'vol', 'sign', 
           'ratio', 'cash', 'price']) 

यह अच्छा होगा अगर read_csvdtype और usecols सेटिंग जोड़ सकता है। मेरे लालच के लिए खेद है।^_^

+3

वास्तव में, फ़ाइल पाठकों पर कुछ और काम की आवश्यकता है। यहां देखें: https://github.com/pydata/pandas/issues/926। उम्मीद है कि एक जादुई डेवलपर लकड़ी के काम से बाहर आ जाएगा और इससे मेरी मदद करेगा। –

उत्तर

4

बस डालें: नहीं, अभी तक नहीं। इस विशेष क्षेत्र पर अधिक काम (पढ़ें: अधिक सक्रिय डेवलपर्स) की आवश्यकता है। यदि आप पोस्ट कर सकते हैं कि आप read_csv का उपयोग कैसे कर रहे हैं तो इससे मदद मिल सकती है। मुझे संदेह है कि सलाखों के बीच सफेद जगह समस्या हो सकती है

संपादित करें: यह अब अप्रचलित है। यह व्यवहार read_csv

+1

धन्यवाद वेस। यूट्यूब से पांडा के साथ पाइथन में डेटा विश्लेषण पर बस अपने पिकॉन वीडियो को देखा। बड़ी मदद! – Deadwood

1

द्वारा मूल रूप से कवर किया गया है अब आप read_csv में प्रकार का उपयोग कर सकते हैं।

पीएस: उत्तर देने के लिए Wes McKinney पर कुडोस, "पिछले वेस" के विपरीत होने के लिए काफी अजीब लगता है।

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

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