Python6 min read
Python Working with Excel
Read and write Excel files using openpyxl and pandas.
David Miller
December 18, 2025
0.0k0
Handle Excel files easily.
Install Libraries
```bash pip install openpyxl pandas ```
Read Excel with Pandas
```python import pandas as pd
Read Excel file df = pd.read_excel('data.xlsx')
Read specific sheet df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
Display data print(df.head()) ```
Write Excel with Pandas
```python import pandas as pd
data = { 'Name': ['Tom', 'Sarah', 'Mike'], 'Age': [25, 28, 30], 'City': ['Austin', 'Miami', 'Denver'] }
df = pd.DataFrame(data)
Write to Excel df.to_excel('output.xlsx', index=False)
Multiple sheets with pd.ExcelWriter('output.xlsx') as writer: df.to_excel(writer, sheet_name='Users', index=False) df.to_excel(writer, sheet_name='Backup', index=False) ```
Read with openpyxl
```python from openpyxl import load_workbook
Load workbook wb = load_workbook('data.xlsx')
Get sheet sheet = wb['Sheet1']
Read cells for row in sheet.iter_rows(min_row=2, values_only=True): name, age, city = row print(f"{name} is {age} from {city}") ```
Write with openpyxl
```python from openpyxl import Workbook
Create workbook wb = Workbook() sheet = wb.active
Write header sheet.append(['Name', 'Age', 'City'])
Write data sheet.append(['Tom', 25, 'Austin']) sheet.append(['Sarah', 28, 'Miami'])
Save wb.save('output.xlsx') ```
Formatting
```python from openpyxl import Workbook from openpyxl.styles import Font, PatternFill
wb = Workbook() sheet = wb.active
Add data sheet['A1'] = 'Name' sheet['B1'] = 'Age'
Format header header_font = Font(bold=True, color="FFFFFF") header_fill = PatternFill(start_color="0070C0", fill_type="solid")
sheet['A1'].font = header_font sheet['A1'].fill = header_fill sheet['B1'].font = header_font sheet['B1'].fill = header_fill
wb.save('formatted.xlsx') ```
Remember
- Pandas for data analysis - openpyxl for formatting - Always close/save workbooks
#Python#Advanced#Excel