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
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
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.
Step by step
Solved in 2 steps
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