Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)

  • Post category:Python

下面我为您详细讲解“Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)”的完整实例教程。

一、前言

Excel是表格处理中常见的工具,因此在实际工作中我们经常需要处理Excel文件,使用Python进行读写和处理Excel文件会给我们带来很多方便。Python中也有很多第三方包可以帮助我们处理Excel文件,如xlrd、xlwt、openpyxl等,本文将详细介绍三个python库分别实现对Excel的读写并进行对比分析,适合初学者借鉴参考。

二、xlrd

1.安装xlrd

我们可以通过pip install命令安装xlrd包:

pip install xlrd

2.读取Excel文件

读取Excel文件的主要流程:
– 打开Excel文件,获取工作簿对象
– 选择工作表
– 获取数据

下面是一个读取Excel文件的示例代码:

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook('example.xlsx')

# 获取所有工作表名称
sheet_names = workbook.sheet_names()
print('所有工作表名称: ', sheet_names)

# 选择工作表
sheet = workbook.sheet_by_name('Sheet1')

# 获取单元格值
cell_value = sheet.cell_value(1, 1)
print('第2行第2列单元格的值: ', cell_value)

# 获取一整列的值
col_values = sheet.col_values(0)
print('第1列单元格值列表: ', col_values)

# 获取一整行的值
row_values = sheet.row_values(0)
print('第1行单元格值列表: ', row_values)

3.写入Excel文件

下面是使用xlrd写入Excel的示例代码:

# 引入xlrd中的Workbook类和Worksheet类
from xlrd import Workbook, Worksheet

# 创建Workbook
wb = Workbook()

# 创建Worksheet
sheet = wb.add_sheet('Sheet1')

# 写入数据
sheet.write(0, 0, 'This is the value of cell A1 in Sheet1')
sheet.write(1, 1, 'This is the value of cell B2 in Sheet1')

# 保存Excel文件
wb.save('example.xlsx')

4.优点和缺点

优点

  • 支持读取xls和xlsx格式的Excel文件
  • 读取Excel文件的速度较快

缺点

  • 不支持写入和修改Excel文件

三、xlsxwriter

1.安装xlsxwriter

我们可以通过pip install命令安装xlsxwriter包:

pip install xlsxwriter

2.写入Excel文件

写入Excel文件的主要流程:
– 创建Workbook对象
– 创建Worksheet对象
– 写入数据

下面是使用xlsxwriter写入Excel文件的示例代码:

import xlsxwriter

# 创建Workbook对象
workbook = xlsxwriter.Workbook('example.xlsx')

# 创建Worksheet对象
sheet = workbook.add_worksheet()

# 写入数据
sheet.write('A1', 'This is the value of cell A1')
sheet.write('B2', 'This is the value of cell B2')

# 保存Excel文件
workbook.close()

3.优点和缺点

优点

  • 支持写入和修改Excel文件
  • 支持设置单元格格式

缺点

  • 不支持读取Excel文件

四、openpyxl

1.安装openpyxl

我们可以通过pip install命令安装openpyxl包:

pip install openpyxl

2.读取Excel文件

读取Excel文件的主要流程:
– 加载Excel文件
– 选择工作表
– 获取数据

下面是使用openpyxl读取Excel文件的示例代码:

from openpyxl import load_workbook

# 加载Excel文件
workbook = load_workbook(filename='example.xlsx')

# 选择工作表
sheet_names = workbook.sheetnames
sheet = workbook[sheet_names[0]]

# 获取单元格值
cell_value = sheet['B2'].value
print('B2单元格的值: ', cell_value)

# 获取一整列的值
col_values = [cell.value for cell in sheet['A']]
print('A列单元格值列表: ', col_values)

# 获取一整行的值
row_values = [cell.value for cell in sheet[1]]
print('1行单元格值列表: ', row_values)

3.写入Excel文件

下面是使用openpyxl写入Excel的示例代码:

from openpyxl import Workbook

# 创建Workbook对象
workbook = Workbook()

# 创建Worksheet对象
sheet = workbook.active

# 写入数据
sheet['A1'] = 'This is the value of cell A1'
sheet['B2'] = 'This is the value of cell B2'

# 保存Excel文件
workbook.save('example.xlsx')

4.优点和缺点

优点

  • 支持读取和写入Excel文件
  • 支持设置单元格格式

缺点

  • 读取Excel文件的速度较慢

五、总结

本文分别介绍了三个Python库:xlrd、xlsxwriter和openpyxl,分别实现了对Excel的读写,并进行了优缺点对比分析。根据不同的实际需求,我们可以选择不同的python库来进行Excel文件的处理。