एक हेडर पंक्ति वाली डेटा फ़ाइल लेने का सबसे अच्छा तरीका क्या है और इस पंक्ति को नामित टुपल में पढ़ें ताकि डेटा पंक्तियों को हेडर नाम से एक्सेस किया जा सके?सीएसवी फ़ाइल डेटा को नामित की पंक्तियों के रूप में पढ़ने के लिए पाइथोनिक तरीका क्या है?
मैं कुछ इस तरह प्रयास किया गया था:
import csv
from collections import namedtuple
with open('data_file.txt', mode="r") as infile:
reader = csv.reader(infile)
Data = namedtuple("Data", ", ".join(i for i in reader[0]))
next(reader)
for row in reader:
data = Data(*row)
पाठक वस्तु subscriptable नहीं है, इसलिए उपरोक्त कोड एक TypeError
फेंकता है। एक नाम शीर्ष में फ़ाइल शीर्षलेख पाठक के लिए पाइथोनिक तरीका क्या है?
drbunsen: यह करने के बाद आप के लिए प्रसंस्करण पाश बदल सकते हैं
किसी कारण से आप अभी भी एक
collections.namedtuple
के रूप में पंक्तियों का उपयोग करने की जरूरत है, यह आसान शब्दकोशों को बदलने के लिए नामित किया गया tuples को इस प्रकार होना चाहिए : 'मानचित्र में डेटा के लिए (डेटा._मेक, पाठक): '। – martineau@spinup: मैंने आपका संपादन थोड़ा बदल दिया। – martineau
क्या होगा यदि सीएसवी डेटा में हेडर की कमी है? क्या कॉलम में नाम असाइन करने का कोई तरीका है? (यदि सीएसवी डेटा में नामित हेडर की कमी है, और आप कॉलम नाम असाइन करना चाहते हैं, तो ऐसा लगता है कि मेरा एकमात्र विकल्प इसे शब्दकोशों के अनुक्रम के रूप में पढ़ना है)। –