📖 Scenario: You work in a small company that keeps sales data in Excel files. You want to learn how to read this data into Python to analyze it easily.
🎯 Goal: Learn how to use pandas.read_excel to load Excel data into a DataFrame and display it.
📋 What You'll Learn
Use pandas library
Read an Excel file named sales_data.xlsx
Load the data into a DataFrame called df
Print the DataFrame to see the data
💡 Why This Matters
🌍 Real World
Many companies store data in Excel files. Being able to read Excel files into Python lets you analyze and visualize data easily.
💼 Career
Data analysts and data scientists often import Excel data to clean, analyze, and report insights.
Progress0 / 4 steps
1
Create a sample Excel file
Create a dictionary called data with these exact entries: 'Product': ['Pen', 'Notebook', 'Eraser'] and 'Sales': [100, 150, 50]. Then use pandas.DataFrame to create a DataFrame called df from this dictionary.
Pandas
Hint
Use data = {'Product': [...], 'Sales': [...]} and then df = pd.DataFrame(data).
2
Save the DataFrame to an Excel file
Use the to_excel method on df to save the data to a file named 'sales_data.xlsx'. Include index=False to avoid saving row numbers.
Pandas
Hint
Use df.to_excel('sales_data.xlsx', index=False) to save the file.
3
Read the Excel file into a DataFrame
Use pandas.read_excel to read the file 'sales_data.xlsx' into a new DataFrame called df.
Pandas
Hint
Use df = pd.read_excel('sales_data.xlsx') to load the Excel file.
4
Print the DataFrame to see the data
Write a print statement to display the DataFrame df.
Pandas
Hint
Use print(df) to show the data.
Practice
(1/5)
1. What does the pandas.read_excel() function do?
easy
A. Saves a pandas DataFrame to an Excel file
B. Creates a new Excel file
C. Loads data from an Excel file into a pandas DataFrame
D. Converts Excel formulas into Python code
Solution
Step 1: Understand the purpose of read_excel
The function pandas.read_excel() is designed to read data from Excel files.
Step 2: Identify the output type
It loads the Excel data into a pandas DataFrame, which is a table-like structure for data analysis.
Final Answer:
Loads data from an Excel file into a pandas DataFrame -> Option C
Quick Check:
read_excel loads Excel data [OK]
Hint: Remember: read_excel reads, not writes Excel files [OK]
Common Mistakes:
Confusing read_excel with to_excel
Thinking it creates Excel files
Assuming it converts formulas automatically
2. Which of the following is the correct syntax to read the sheet named 'Sales' from an Excel file 'data.xlsx' using pandas?
easy
A. pd.read_excel('data.xlsx', sheet='Sales')
B. pd.read_excel('data.xlsx', sheet_name='Sales')
C. pd.read_excel('data.xlsx', sheetname='Sales')
D. pd.read_excel('data.xlsx', sheetname=Sales)
Solution
Step 1: Recall the correct parameter name
The correct parameter to specify the sheet is sheet_name, not sheet or sheetname.
Step 2: Check the syntax and quotes
pd.read_excel('data.xlsx', sheet_name='Sales') uses sheet_name='Sales' correctly with quotes around the sheet name.
Final Answer:
pd.read_excel('data.xlsx', sheet_name='Sales') -> Option B
Quick Check:
Use sheet_name to select sheet [OK]
Hint: Use sheet_name, not sheet or sheetname [OK]
Common Mistakes:
Using sheet instead of sheet_name
Missing quotes around sheet name
Passing sheetname without quotes causing error
3. Given the Excel file 'report.xlsx' with two sheets: '2023' and '2024'. The '2023' sheet has columns 'Month', 'Sales', 'Profit'. What will be the output of this code?
A. A DataFrame with columns 'Month' and 'Profit' showing first 5 rows
B. A DataFrame with all columns from '2023' sheet
C. Error because usecols expects column indexes, not names
D. Empty DataFrame because 'Profit' column is missing
Solution
Step 1: Understand usecols parameter
The usecols parameter accepts a list of column names to read only those columns.
Step 2: Check the sheet and columns requested
The code reads sheet '2023' and selects columns 'Month' and 'Profit'. It then prints the first 5 rows with head().
Final Answer:
A DataFrame with columns 'Month' and 'Profit' showing first 5 rows -> Option A
Quick Check:
usecols selects columns by name [OK]
Hint: usecols can take column names list [OK]
Common Mistakes:
Thinking usecols only accepts indexes
Expecting all columns without usecols
Assuming head() prints all rows
4. What is wrong with this code snippet to read only the first 10 rows from 'data.xlsx'?
import pandas as pd
df = pd.read_excel('data.xlsx', nrows=10)
print(df)
medium
A. Nothing is wrong; the code correctly reads the first 10 rows
B. The file path is incorrect
C. Missing sheet_name parameter causes error
D. The print statement is incorrect
Solution
Step 1: Check if nrows is supported by read_excel
The read_excel function supports the nrows parameter to limit the number of rows read.
Step 2: Verify other components
The import is correct, file path is standard, sheet_name is optional (uses first sheet), and print(df) displays the DataFrame.
Final Answer:
Nothing is wrong; the code correctly reads the first 10 rows -> Option A
Quick Check:
nrows supported in read_excel [OK]
Hint: read_excel supports nrows parameter [OK]
Common Mistakes:
Thinking nrows is not supported by read_excel
Assuming sheet_name is mandatory
Thinking print causes error
5. You have an Excel file 'sales_data.xlsx' with multiple sheets named by year (e.g., '2021', '2022'). You want to read only the sheets for years 2021 and 2022 and combine them into one DataFrame. Which code snippet correctly does this?
hard
A. df = pd.read_excel('sales_data.xlsx', sheet_name='2021,2022')