📖 Scenario: You have a CSV file containing sales data from a small store. You want to load this data into Python to analyze it easily.
🎯 Goal: Learn how to read a CSV file into a pandas DataFrame using the read_csv function.
📋 What You'll Learn
Use pandas library
Read a CSV file named sales_data.csv
Store the data in a variable called sales_df
Print the DataFrame to see the data
💡 Why This Matters
🌍 Real World
Reading CSV files is a common first step in analyzing data from spreadsheets, exports, or logs.
💼 Career
Data scientists and analysts often start their work by loading CSV files into pandas for cleaning and analysis.
Progress0 / 4 steps
1
Import pandas and create the CSV file
Import the pandas library as pd and create a CSV file named sales_data.csv with the following content: Product,Price,Quantity
Apple,0.5,10
Banana,0.3,15
Orange,0.7,7
Pandas
Hint
Use import pandas as pd to import pandas. Use Python's open function to create and write to the CSV file.
2
Set the CSV file path
Create a variable called csv_file and set it to the string 'sales_data.csv' to store the path of the CSV file.
Pandas
Hint
Just assign the string 'sales_data.csv' to the variable csv_file.
3
Read the CSV file into a DataFrame
Use pd.read_csv with the variable csv_file to read the CSV file and store the result in a variable called sales_df.
Pandas
Hint
Use sales_df = pd.read_csv(csv_file) to read the CSV file into a DataFrame.
4
Print the DataFrame
Print the variable sales_df to display the contents of the CSV file as a DataFrame.
Pandas
Hint
Use print(sales_df) to show the DataFrame.
Practice
(1/5)
1. What does the pandas.read_csv() function do?
easy
A. Loads data from a CSV file into a pandas DataFrame
B. Saves a DataFrame to a CSV file
C. Creates a new CSV file from scratch
D. Deletes a CSV file from disk
Solution
Step 1: Understand the purpose of read_csv
The read_csv function is designed to read data stored in CSV files.
Step 2: Identify the output of read_csv
It loads the CSV data into a pandas DataFrame, which is a table-like data structure for analysis.
Final Answer:
Loads data from a CSV file into a pandas DataFrame -> Option A
Quick Check:
read_csv loads CSV data into DataFrame [OK]
Hint: Remember: read_csv reads files, not writes [OK]
Common Mistakes:
Confusing read_csv with to_csv (saving files)
Thinking it creates or deletes files
Assuming it returns a list or dictionary
2. Which of the following is the correct way to read a CSV file named data.csv using pandas?
easy
A. pd.read_csv('data.csv')
B. pd.read('data.csv')
C. pandas.load_csv('data.csv')
D. pd.load_csv('data.csv')
Solution
Step 1: Recall the pandas function for reading CSV
The correct function is read_csv from the pandas library, usually imported as pd.
Step 2: Match the syntax with the file name
The syntax is pd.read_csv('filename.csv'), so pd.read_csv('data.csv') is correct.
Final Answer:
pd.read_csv('data.csv') -> Option A
Quick Check:
Correct function name and syntax = pd.read_csv('data.csv') [OK]
Hint: Use pd.read_csv('filename.csv') to load CSV files [OK]
Common Mistakes:
Using pd.read instead of pd.read_csv
Using load_csv which does not exist
Forgetting to put filename in quotes
3. Given the CSV file sample.csv with content:
name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago
What will be the output of this code?
import pandas as pd
df = pd.read_csv('sample.csv', usecols=['name', 'city'])
print(df)
medium
A. DataFrame with all columns: 'name', 'age', 'city'
B. Error because 'usecols' is not a valid argument
C. DataFrame with columns 'name' and 'city' only
D. Empty DataFrame with no columns
Solution
Step 1: Understand the usecols parameter in read_csv
The usecols argument selects only specified columns from the CSV file.
Step 2: Apply usecols=['name', 'city'] to the CSV data
Only the 'name' and 'city' columns will be loaded into the DataFrame, excluding 'age'.
Final Answer:
DataFrame with columns 'name' and 'city' only -> Option C
Quick Check:
usecols filters columns = DataFrame with columns 'name' and 'city' only [OK]
Hint: usecols picks only listed columns from CSV [OK]
Common Mistakes:
Expecting all columns to load despite usecols
Thinking usecols causes an error
Confusing usecols with skiprows
4. What is wrong with this code snippet?
import pandas as pd
df = pd.read_csv('data.csv', sep=';')
print(df.head())
Assuming data.csv uses commas as separators.
medium
A. Missing header argument causes error
B. The separator sep=';' is incorrect for comma-separated data
C. read_csv cannot read files with commas
D. print(df.head()) is invalid syntax
Solution
Step 1: Check the separator argument in read_csv
The code uses sep=';' which means it expects semicolon-separated values.
Step 2: Compare with actual CSV separator
The file uses commas, so the separator should be sep=',' or omitted (default is comma).
Final Answer:
The separator sep=';' is incorrect for comma-separated data -> Option B
Quick Check:
Separator must match file format = The separator sep=';' is incorrect for comma-separated data [OK]
Hint: Match sep to actual CSV delimiter to avoid errors [OK]
Common Mistakes:
Using wrong separator for the CSV file
Assuming header argument is always needed
Thinking print(df.head()) is invalid
5. You have a CSV file records.csv with no header row, and columns are separated by tabs. How do you correctly load it into pandas with column names ['ID', 'Name', 'Score']?
hard
A. pd.read_csv('records.csv', names=['ID', 'Name', 'Score'])
B. pd.read_csv('records.csv', sep=',', header=0, names=['ID', 'Name', 'Score'])
C. pd.read_csv('records.csv', sep='\t', header=0)
D. pd.read_csv('records.csv', sep='\t', header=None, names=['ID', 'Name', 'Score'])
Solution
Step 1: Identify the separator and header presence
The file uses tabs as separators, so sep='\t' is needed. It has no header row, so header=None must be set.
Step 2: Assign column names manually
Since there is no header, use names=['ID', 'Name', 'Score'] to name columns on load.
Final Answer:
pd.read_csv('records.csv', sep='\t', header=None, names=['ID', 'Name', 'Score']) -> Option D