python读写excel
时间: 2023-07-03 16:17:07 浏览: 124
Python有多个库可以读写Excel文件,其中比较常用的有:
1. openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
2. xlrd/xlwt:用于读写Excel 97-2003 .xls文件的Python库。
3. pandas:pandas库可以读取和写入多种文件格式,包括Excel文件。
下面分别介绍使用这三个库的方法:
### 1. 使用openpyxl
安装openpyxl库:
```
pip install openpyxl
```
读取Excel文件:
```python
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook(filename='example.xlsx', read_only=True)
# 选择工作表
ws = wb['Sheet1']
# 读取单元格数据
cell_value = ws.cell(row=1, column=1).value
print(cell_value)
# 遍历行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for cell in row:
print(cell.value)
# 遍历列
for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
for cell in col:
print(cell.value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in ws.iter_rows(min_row=1):
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
from openpyxl import Workbook
# 创建Excel文件
wb = Workbook()
# 选择工作表
ws = wb.active
# 写入单元格数据
ws['A1'] = 'Hello'
ws.cell(row=1, column=2, value='World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row in data:
ws.append(row)
# 保存Excel文件
wb.save('example.xlsx')
```
### 2. 使用xlrd/xlwt
安装xlrd和xlwt库:
```
pip install xlrd
pip install xlwt
```
读取Excel文件:
```python
import xlrd
# 打开Excel文件
wb = xlrd.open_workbook('example.xls')
# 选择工作表
ws = wb.sheet_by_name('Sheet1')
# 读取单元格数据
cell_value = ws.cell_value(0, 0)
print(cell_value)
# 遍历行
for row in range(ws.nrows):
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
print(cell_value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in range(ws.nrows):
row_data = []
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
row_data.append(cell_value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
import xlwt
# 创建Excel文件
wb = xlwt.Workbook()
# 选择工作表
ws = wb.add_sheet('Sheet1')
# 写入单元格数据
ws.write(0, 0, 'Hello')
ws.write(0, 1, 'World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row, row_data in enumerate(data):
for col, cell_value in enumerate(row_data):
ws.write(row+1, col, cell_value)
# 保存Excel文件
wb.save('example.xls')
```
### 3. 使用pandas
安装pandas库:
```
pip install pandas
```
读取Excel文件:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
# 读取单元格数据
cell_value = df.iloc[0, 0]
print(cell_value)
# 遍历行
for index, row in df.iterrows():
print(row['Name'], row['Age'], row['Gender'])
# 读取整个工作表的数据,返回一个DataFrame对象
data = df.values.tolist()
print(data)
```
写入Excel文件:
```python
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame({'Name': ['Tom', 'Lucy'], 'Age': [18, 20], 'Gender': ['Male', 'Female']})
# 写入Excel文件
df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)
```
以上是使用Python读写Excel的常用方法,可以根据实际需求选择不同的库和方法。
阅读全文