python操作excel表格
时间: 2023-06-01 18:02:04 浏览: 118
python操作excel
Python可以使用多种库来操作Excel表格,其中最常用的是openpyxl和xlrd/xlwt。
## openpyxl
openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库,可以轻松地读取、写入和修改Excel文件。下面是一些基本的使用示例。
### 安装
使用pip安装openpyxl库:
```
pip install openpyxl
```
### 创建工作簿和工作表
```python
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 获取默认的工作表
ws = wb.active
# 创建新的工作表
ws1 = wb.create_sheet("Sheet1")
# 重命名工作表
ws1.title = "New Sheet"
# 保存工作簿
wb.save("workbook.xlsx")
```
### 写入数据
```python
from openpyxl import Workbook
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 写入数据
ws['A1'] = 'Hello'
ws['B1'] = 'World'
# 保存工作簿
wb.save("workbook.xlsx")
```
### 读取数据
```python
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook(filename='workbook.xlsx')
# 获取工作表
ws = wb.active
# 读取单元格数据
print(ws['A1'].value)
print(ws['B1'].value)
```
### 循环写入数据
```python
from openpyxl import Workbook
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 写入数据
data = [
['ID', 'Name', 'Age'],
[1, 'Tom', 18],
[2, 'Jerry', 20],
[3, 'Bob', 25]
]
for row in data:
ws.append(row)
# 保存工作簿
wb.save("workbook.xlsx")
```
### 循环读取数据
```python
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook(filename='workbook.xlsx')
# 获取工作表
ws = wb.active
# 读取数据
for row in ws.iter_rows(min_row=2, values_only=True):
print(row)
```
## xlrd / xlwt
xlrd和xlwt是Python的另外两个库,分别用于读取和写入Excel文件,同样支持xls和xlsx格式。下面是一些基本的使用示例。
### 安装
使用pip安装xlrd和xlwt库:
```
pip install xlrd xlwt
```
### 创建工作簿和工作表
```python
import xlwt
# 创建工作簿
wb = xlwt.Workbook()
# 创建工作表
ws = wb.add_sheet('Sheet1')
# 保存工作簿
wb.save('workbook.xls')
```
### 写入数据
```python
import xlwt
# 创建工作簿和工作表
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')
# 写入数据
ws.write(0, 0, 'Hello')
ws.write(0, 1, 'World')
# 保存工作簿
wb.save('workbook.xls')
```
### 读取数据
```python
import xlrd
# 加载工作簿
wb = xlrd.open_workbook('workbook.xls')
# 获取工作表
ws = wb.sheet_by_name('Sheet1')
# 读取单元格数据
print(ws.cell_value(0, 0))
print(ws.cell_value(0, 1))
```
### 循环写入数据
```python
import xlwt
# 创建工作簿和工作表
wb = xlwt.Workbook()
ws = wb.add_sheet('Sheet1')
# 写入数据
data = [
['ID', 'Name', 'Age'],
[1, 'Tom', 18],
[2, 'Jerry', 20],
[3, 'Bob', 25]
]
for i in range(len(data)):
for j in range(len(data[i])):
ws.write(i, j, data[i][j])
# 保存工作簿
wb.save('workbook.xls')
```
### 循环读取数据
```python
import xlrd
# 加载工作簿
wb = xlrd.open_workbook('workbook.xls')
# 获取工作表
ws = wb.sheet_by_name('Sheet1')
# 读取数据
for i in range(1, ws.nrows):
row = ws.row_values(i)
print(row)
```
阅读全文