Python操作Excel之xlwt与xlrd完整攻略
在 Python 中,我们可以使用 xlwt
和 xlrd
两个库来实现对 Excel 文件的读写操作:
xlwt
用于写入 Excel 文件,即将 Python 数据写入 Excel 文件。xlrd
用于读取 Excel 文件,即将 Excel 文件中的数据读取到 Python 中。
安装
首先我们需要安装这两个库,可以使用 pip 命令进行安装:
pip install xlwt
pip install xlrd
写入Excel文件
接下来我们将详细介绍如何使用 xlwt
库来写入 Excel 文件。
创建工作簿
我们从创建一个 Excel 文件开始。下面的示例代码创建一个名为 example.xls
的 Excel 文件,并在其中创建一个名为 Sheet1
的工作表:
import xlwt
# 创建工作簿
workbook = xlwt.Workbook()
# 创建工作表Sheet1
sheet = workbook.add_sheet('Sheet1')
# 关闭工作簿
workbook.save('example.xls')
写入数据
接下来我们向工作表中写入数据。下面的示例代码向 Sheet1
写入一个字符串和一个整数:
import xlwt
# 创建工作簿
workbook = xlwt.Workbook()
# 创建工作表Sheet1
sheet = workbook.add_sheet('Sheet1')
# 设置单元格A1的值为'Hello'
sheet.write(0, 0, 'Hello')
# 设置单元格B1的值为123
sheet.write(0, 1, 123)
# 关闭工作簿
workbook.save('example.xls')
上面的代码中,write()
方法的第一个参数是行号,第二个参数是列号,第三个参数是要写入的值。
写入公式
除了写入常规的数据外,我们还可以在单元格中写入 Excel 公式。下面的示例代码向 Sheet1
中第一行第三列写入了一个公式,在第二行第三列写入了一个 SUM 函数:
import xlwt
# 创建工作簿
workbook = xlwt.Workbook()
# 创建工作表Sheet1
sheet = workbook.add_sheet('Sheet1')
# 设置单元格A1的值为'Hello'
sheet.write(0, 0, 'Hello')
# 写入一个公式
sheet.write(0, 2, xlwt.Formula('B1*3'))
# 写入一个SUM函数
sheet.write(1, 2, xlwt.Formula('SUM(B1,B2)'))
# 关闭工作簿
workbook.save('example.xls')
设置样式
我们还可以为 Excel 文件中的单元格设置样式,比如设置字体颜色、背景颜色、边框样式等。下面的示例代码为 Sheet1
中第一行第一列的单元格设置了字体颜色和背景颜色:
import xlwt
# 创建工作簿
workbook = xlwt.Workbook()
# 创建工作表Sheet1
sheet = workbook.add_sheet('Sheet1')
# 设置单元格A1的值为'Hello'
sheet.write(0, 0, 'Hello')
# 设置单元格A1的字体颜色为红色
style = xlwt.XFStyle()
font = xlwt.Font()
font.colour_index = 2
style.font = font
sheet.write(0, 0, 'Hello', style)
# 设置单元格A1的背景颜色为绿色
style = xlwt.XFStyle()
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 3
style.pattern = pattern
sheet.write(0, 0, 'Hello', style)
# 关闭工作簿
workbook.save('example.xls')
读取Excel文件
接下来我们将详细介绍如何使用 xlrd
库来读取 Excel 文件。
打开工作簿和工作表
首先我们需要打开一个 Excel 文件,并找到其中的工作表。下面的示例代码打开了 example.xls
文件,并获取了名为 Sheet1
的工作表:
import xlrd
# 打开工作簿
workbook = xlrd.open_workbook('example.xls')
# 获取工作表Sheet1
sheet = workbook.sheet_by_name('Sheet1')
获取单元格的值
接下来我们需要从工作表中读取数据。下面的示例代码读取了 Sheet1
中第一行第一列的单元格的值:
import xlrd
# 打开工作簿
workbook = xlrd.open_workbook('example.xls')
# 获取工作表Sheet1
sheet = workbook.sheet_by_name('Sheet1')
# 读取单元格A1的值
value = sheet.cell(0, 0).value
print(value)
获取整行或整列的值
除了读取单个单元格的值外,我们还可以读取整行或整列的值。下面的示例代码读取了 Sheet1
中第一行的所有单元格的值:
import xlrd
# 打开工作簿
workbook = xlrd.open_workbook('example.xls')
# 获取工作表Sheet1
sheet = workbook.sheet_by_name('Sheet1')
# 读取第一行的所有单元格的值
values = sheet.row_values(0)
print(values)
示例说明
- 使用
xlwt
写入一份 Excel 文件,包含一个名为Sheet1
的工作表。然后,写入以下数据:
姓名 | 年龄 | 性别 |
---|---|---|
张三 | 25 | 男 |
李四 | 28 | 女 |
最后,设置单元格的样式,将第一行的字体颜色设置为红色,第二行的背景颜色设置为黄色。
```python
import xlwt
# 创建工作簿
workbook = xlwt.Workbook()
# 创建工作表Sheet1
sheet = workbook.add_sheet('Sheet1')
# 写入数据
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年龄')
sheet.write(0, 2, '性别')
sheet.write(1, 0, '张三')
sheet.write(1, 1, 25)
sheet.write(1, 2, '男')
sheet.write(2, 0, '李四')
sheet.write(2, 1, 28)
sheet.write(2, 2, '女')
# 设置样式
style = xlwt.XFStyle()
font = xlwt.Font()
font.colour_index = 2
style.font = font
for i in range(3):
sheet.write(0, i, sheet.cell(0, i).value, style)
style = xlwt.XFStyle()
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5
style.pattern = pattern
for i in range(3):
sheet.write(1, i, sheet.cell(1, i).value, style)
# 关闭工作簿
workbook.save('example.xls')
```
- 使用
xlrd
读取上述 Excel 文件,获取Sheet1
中所有数据,并输出到控制台。
```python
import xlrd
# 打开工作簿
workbook = xlrd.open_workbook('example.xls')
# 获取工作表Sheet1
sheet = workbook.sheet_by_name('Sheet1')
# 读取数据并输出
for i in range(sheet.nrows):
for j in range(sheet.ncols):
print(sheet.cell(i, j).value, end='\t')
print()
```
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作excel之xlwt与xlrd - Python技术站