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