निम्न कोड दो बार आउटपुट क्यों लौटा रहा है? मुझे पता है कि मुझे प्रिंट (पंक्ति) के बजाय प्रिंट (लाइन) का उपयोग करने की आवश्यकता है, लेकिन मैं बस उत्सुक हूं कि प्रिंट (पंक्ति) दो बार आउटपुट क्यों लौटा रहा है?

with open ('data.csv','r') as data:
  reader = csv.DictReader(data)
  row = next(reader)
  for line in reader:
    print(row)

परिणाम:

OrderedDict([('\ufeffProgramming language', 'Python'), ('Designed by', 'Guido van Rossum'), ('Appeared', '1991'), ('Extension', '.py')])

OrderedDict([('\ufeffProgramming language', 'Python'), ('Designed by', 'Guido van Rossum'), ('Appeared', '1991'), ('Extension', '.py')])
0
Hasham Beyg 22 अक्टूबर 2019, 22:53

1 उत्तर

सबसे बढ़िया उत्तर

row = next(reader) सबसे पहले CSV की पहली पंक्ति को पढ़ता है।

फिर आपके पास लूप बॉडी में print(line) के बजाय print(row) है और इस प्रकार यह बार-बार CSV की पहली पंक्ति को एक-दूसरे के लिए प्रिंट करता है। इस मामले में CSV फ़ाइल में दो अन्य पंक्तियाँ हैं, इसलिए यह दो बार प्रिंट होती है।

1
orlp 22 अक्टूबर 2019, 23:10