Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a CSV file?
A CSV (Comma-Separated Values) file is a simple text file that stores tabular data. Each line is a row, and columns are separated by commas.
Click to reveal answer
beginner
Which Python module is commonly used to work with CSV files?
The built-in csv module is used to read from and write to CSV files easily.
Click to reveal answer
beginner
How do you read a CSV file using Python's csv module?
You open the file with open(), then create a csv.reader object to loop through rows.
Click to reveal answer
beginner
How do you write data to a CSV file in Python?
Open the file in write mode with open(), create a csv.writer object, then use writer.writerow() to add rows.
Click to reveal answer
beginner
Why should you use with open() when working with files?
Using with open() automatically closes the file after the block ends, preventing file corruption or leaks.
Click to reveal answer
What does each line in a CSV file represent?
AA single character
BA column of data
CA file header
DA row of data
✗ Incorrect
Each line in a CSV file corresponds to one row of data.
Which Python function is used to open a CSV file for reading?
Afile.open()
Bcsv.open()
Copen()
Dread_csv()
✗ Incorrect
The built-in open() function is used to open files, including CSV files.
What method writes a single row to a CSV file using csv.writer?
Awriterow()
Bwrite()
Cwriteline()
Dwritecsv()
✗ Incorrect
The writerow() method writes one row (a list of values) to the CSV file.
Why is it important to close a file after working with it?
ATo save changes and free system resources
BTo delete the file
CTo rename the file
DTo open it again
✗ Incorrect
Closing a file saves changes and frees resources so other programs can use the file.
Which delimiter is most commonly used in CSV files?
ASemicolon
BComma
CTab
DSpace
✗ Incorrect
CSV stands for Comma-Separated Values, so commas separate the columns.
Explain how to read data from a CSV file in Python using the csv module.
Think about opening the file and then reading each line as a list.
You got /4 concepts.
Describe the steps to write multiple rows of data to a CSV file in Python.
Remember to open the file first, then write rows one by one or all at once.
You got /4 concepts.
Practice
(1/5)
1. What does the Python csv.reader function do when working with CSV files?
easy
A. Reads the CSV file and returns each row as a list of values
B. Writes data to a CSV file
C. Deletes a CSV file
D. Converts CSV data into JSON format
Solution
Step 1: Understand the purpose of csv.reader
The csv.reader function reads CSV files and returns each row as a list of strings representing the columns.
Step 2: Differentiate from other CSV functions
Functions like writing or deleting files are not done by csv.reader. It only reads and parses rows.
Final Answer:
Reads the CSV file and returns each row as a list of values -> Option A
Quick Check:
csv.reader reads rows as lists [OK]
Hint: Remember: reader reads rows as lists [OK]
Common Mistakes:
Confusing reader with writer
Thinking it deletes files
Assuming it converts formats
2. Which of the following is the correct way to open a CSV file for reading in Python?
easy
A. open('data.csv', 'a')
B. open('data.csv', 'w')
C. open('data.csv', 'r')
D. open('data.csv', 'x')
Solution
Step 1: Understand file modes in Python
The mode 'r' means open for reading, which is needed to read a CSV file.
Step 2: Check other modes
'w' is for writing (overwrites), 'a' is for appending, and 'x' is for creating a new file. None are for reading existing files.
Final Answer:
open('data.csv', 'r') -> Option C
Quick Check:
Use 'r' mode to read files [OK]
Hint: Use 'r' mode to read files [OK]
Common Mistakes:
Using 'w' which overwrites file
Using 'a' which appends data
Using 'x' which fails if file exists
3. What will be the output of this code snippet?
import csv
with open('data.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Age'])
writer.writerow(['Alice', '30'])
with open('data.csv', 'r') as f:
reader = csv.reader(f)
rows = list(reader)
print(rows)
medium
A. ['Name', 'Age', 'Alice', '30']
B. SyntaxError
C. [['Name, Age'], ['Alice, 30']]
D. [['Name', 'Age'], ['Alice', '30']]
Solution
Step 1: Writing rows with csv.writer
The code writes two rows: header ['Name', 'Age'] and data ['Alice', '30'] as lists.
Step 2: Reading rows with csv.reader
Reading back returns a list of lists, each inner list is a row split by commas.
Final Answer:
[['Name', 'Age'], ['Alice', '30']] -> Option D
Quick Check:
csv.reader returns list of lists [OK]
Hint: csv.reader returns list of lists, not flat list [OK]
Common Mistakes:
Expecting a flat list instead of list of lists
Thinking rows are single strings
Syntax errors from missing newline='' in open
4. Identify the error in this code that reads a CSV file:
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
medium
A. csv.reader cannot be used with 'with' statement
B. Indentation error in the for loop body
C. File mode should be 'w' instead of 'r'
D. Missing import statement
Solution
Step 1: Check indentation inside the for loop
The print statement must be indented inside the for loop to run for each row.
Step 2: Verify other parts
Import is present, file mode 'r' is correct for reading, and csv.reader works with 'with' statement.
Final Answer:
Indentation error in the for loop body -> Option B
Quick Check:
Indent loop body correctly [OK]
Hint: Indent inside loops to avoid errors [OK]
Common Mistakes:
Not indenting loop body
Changing file mode incorrectly
Thinking csv.reader can't be used with 'with'
5. You have a CSV file with columns 'Name', 'Age', and 'City'. You want to read it and create a dictionary where keys are names and values are ages (as integers). Which code snippet correctly does this?
hard
A. import csv
with open('data.csv', 'r') as f:
reader = csv.DictReader(f)
result = {row['Name']: int(row['Age']) for row in reader}
print(result)
B. import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
result = {row[0]: int(row[1]) for row in reader}
print(result)
C. import csv
with open('data.csv', 'r') as f:
reader = csv.DictReader(f)
result = {row['Age']: row['Name'] for row in reader}
print(result)
D. import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
result = {int(row[1]): row[0] for row in reader}
print(result)
Solution
Step 1: Use csv.DictReader to access columns by name
DictReader reads rows as dictionaries, so we can use keys like 'Name' and 'Age'.
Step 2: Create dictionary with names as keys and ages as integer values
The comprehension uses row['Name'] as key and converts row['Age'] to int for value.
Final Answer:
import csv
with open('data.csv', 'r') as f:
reader = csv.DictReader(f)
result = {row['Name']: int(row['Age']) for row in reader}
print(result) -> Option A
Quick Check:
DictReader + dict comprehension with int conversion [OK]
Hint: Use DictReader and convert age to int in comprehension [OK]