पंडों ने तालिका में हेडर के बिना पढ़ा


238

पंडों का उपयोग करके मैं एक .csv फ़ाइल (बिना हेडर वाली) में कैसे पढ़ सकता हूं और जब मैं केवल कॉलम का एक सबसेट (4 वें और 7 वें कुल 20 कॉलमों में से) चाहता हूं? मैं ऐसा करने में सक्षम नहीं हो सकताusecols

जवाबों:


349

आदेश है कि में एक csv पढ़ने के लिए एक शीर्षक और केवल कुछ कॉलम आप पैरामीटर पारित करने के लिए की जरूरत के लिए नहीं है में header=Noneऔर usecols=[3,6]4 और 7 वीं स्तंभों के लिए:

df = pd.read_csv(file_path, header=None, usecols=[3,6])

डॉक्स देखें


67

पिछले उत्तर अच्छे और सही थे, लेकिन मेरी राय में, एक अतिरिक्त namesपैरामीटर इसे सही बना देगा, और इसे अनुशंसित तरीका होना चाहिए, खासकर जब सीएसवी के पास नहीं है headers

उपाय

उपयोग usecolsऔर namesमापदंडों

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])

अतिरिक्त पढ़ने

या header=Noneस्पष्ट रूप से लोगों को बताता है कि csvकोई हेडर नहीं है (वैसे भी दोनों लाइनें समान हैं )

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)

ताकि आप अपने डेटा को पुनः प्राप्त कर सकें

# with `names` parameter
df['colA']
df['colB'] 

के बजाय

# without `names` parameter
df[0]
df[1]

समझाना

Read_csv के आधार पर , जब namesस्पष्ट रूप से पास headerकिया Noneजाता है 0, तो इसके बजाय की तरह व्यवहार किया जाएगा , इसलिए कोई मौजूद header=Noneहोने पर छोड़ सकता namesहै।


9

सुनिश्चित करें कि आप पास निर्दिष्ट करें header=Noneऔर usecols=[3,6]4 वें और 7 वें कॉलम के लिए जोड़ें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.