trying to read the csv file into a dictionary and show 10 rows have been read  using a function. I know this works and gives me the specified rows but it's not a defined function. import csv with open('iamacsv.csv') as dataFile:      dictreader = csv.DictReader(dataFile)           rows=0     for row in dictreader:         print(row)         rows=rows+1         if(rows>=10):             break  My attempt at a function is below but obviously I'm missing something or on the wrong path import csv rows=0 def lines(dictreader):     with open('iamacsv.csv') as file:         dictreader = csv.DictReader(file)                  for row in dictreader:             print(lines)             rows=rows+1             if(rows>=10):                 break

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I'm trying to read the csv file into a dictionary and show 10 rows have been read  using a function.

I know this works and gives me the specified rows but it's not a defined function.

import csv

with open('iamacsv.csv') as dataFile: 
    dictreader = csv.DictReader(dataFile) 
    
    rows=0
    for row in dictreader:
        print(row)
        rows=rows+1
        if(rows>=10):
            break 

My attempt at a function is below but obviously I'm missing something or on the wrong path

import csv
rows=0
def lines(dictreader):
    with open('iamacsv.csv') as file:
        dictreader = csv.DictReader(file)
        
        for row in dictreader:
            print(lines)
            rows=rows+1
            if(rows>=10):
                break

Expert Solution
Step 1

Description:

 

1- I go through the call with function and without function. 
2- Both the code is correct, the file path must be as per system configuration otherwise it will throw an error like a file not found exception. 
3- The problem is inside the loop. Inside the loop please print row instead of lines. That is the first mistake. 
4- The second mistake was a function call. lines() is a function name please call from somewhere. 
5- Don't need to pass any kind of parameters inside the function. 
6- Please check the following updated code. 

 

 

steps

Step by step

Solved in 2 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

Unfortunately I'm now throwing an error after showing the first line.

UnboundLocalError Traceback (most recent call last) Input In [10], in <cell line: 16>() 12 if(rows>=10): 13 break ---> 16 lines() Input In [10], in lines() 9 for row in dictreader: 10 print(row) ---> 11 rows=rows+1 12 if(rows>=10): 13 break UnboundLocalError: local variable 'rows' referenced before assignment

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
InputStream
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education