Python操作excel的方法总结(xlrd、xlwt、openpyxl)

  • Post category:Python

下面是关于“Python操作excel的方法总结(xlrd、xlwt、openpyxl)”的完整实例教程。

一、背景

在日常工作和学习中,我们经常需要对Excel文件进行操作,例如读取或修改Excel中的数据。Python作为一门非常流行的编程语言,也有很多库可以用来操作Excel,例如xlrd、xlwt和openpyxl等。

本教程将详细介绍如何使用上述三个库来进行Excel文件的读取和写入。

二、xlrd库的使用

2.1 安装

在使用xlrd库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:

pip install xlrd

2.2 读取Excel文件

下面是读取Excel文件并输出数据的一个简单示例:

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook("example.xls")

# 获取所有sheet名字
sheet_names = workbook.sheet_names()

# 选择第一个sheet
sheet = workbook.sheet_by_name(sheet_names[0])

# 获取行数和列数
nrows = sheet.nrows
ncols = sheet.ncols

# 输出表头
headers = [sheet.cell_value(0, col) for col in range(ncols)]
print(headers)

# 输出每一行
for row in range(1, nrows):
    values = [sheet.cell_value(row, col) for col in range(ncols)]
    print(values)

上述代码首先使用xlrd中的open_workbook函数打开Excel文件,然后选择第一个sheet,最后使用cell_value函数获取指定单元格的数据。

2.3 写入Excel文件

下面是将数据写入Excel文件的一个简单示例:

import xlrd
import xlwt

# 打开Excel文件
workbook = xlrd.open_workbook("example.xls")

# 创建一个新的Excel文件
new_workbook = xlwt.Workbook(encoding="utf-8")

# 添加一个新的sheet
sheet = new_workbook.add_sheet("Sheet1", cell_overwrite_ok=True)

# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
    sheet.write(0, col, header)

# 写入数据
data = ["Tom", 20, "Male"]
for col, value in enumerate(data):
    sheet.write(1, col, value)

# 保存Excel文件
new_workbook.save("new_example.xls")

上述代码首先使用xlrd中的open_workbook函数打开Excel文件,然后使用xlwt中的Workbook函数创建一个新的Excel文件,接着使用add_sheet函数添加一个新的sheet,最后使用write函数写入数据并保存Excel文件。

三、xlwt库的使用

3.1 安装

在使用xlwt库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:

pip install xlwt

3.2 写入Excel文件

下面是使用xlwt将数据写入Excel文件的一个示例:

import xlwt

# 创建一个新的Excel文件
workbook = xlwt.Workbook(encoding="utf-8")

# 添加一个新的sheet
sheet = workbook.add_sheet("Sheet1", cell_overwrite_ok=True)

# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
    sheet.write(0, col, header)

# 写入数据
data_list = [
    ["Tom", 20, "Male"],
    ["Jerry", 21, "Female"],
    ["John", 22, "Male"]
]
for row, data in enumerate(data_list):
    for col, value in enumerate(data):
        sheet.write(row+1, col, value)

# 保存Excel文件
workbook.save("example.xls")

上述代码首先使用xlwt中的Workbook函数创建一个新的Excel文件,然后使用add_sheet函数添加一个新的sheet,最后使用write函数写入数据并保存Excel文件。

四、openpyxl库的使用

4.1 安装

在使用openpyxl库之前,需要先安装该库。可以使用pip来进行安装,具体命令如下:

pip install openpyxl

4.2 读取Excel文件

下面是使用openpyxl读取Excel文件的一个示例:

from openpyxl import load_workbook

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

# 获取所有sheet名字
sheet_names = workbook.get_sheet_names()

# 选择第一个sheet
sheet = workbook.get_sheet_by_name(sheet_names[0])

# 获取行数和列数
nrows = sheet.max_row
ncols = sheet.max_column

# 输出表头
headers = [sheet.cell(row=1, column=col).value for col in range(1, ncols+1)]
print(headers)

# 输出每一行
for row in range(2, nrows+1):
    values = [sheet.cell(row=row, column=col).value for col in range(1, ncols+1)]
    print(values)

上述代码首先使用openpyxl中的load_workbook函数加载Excel文件,然后选择第一个sheet,最后使用cell函数获取指定单元格的数据。

4.3 写入Excel文件

下面是使用openpyxl将数据写入Excel文件的一个示例:

from openpyxl import Workbook

# 创建一个新的Excel文件
workbook = Workbook()

# 添加一个新的sheet
sheet = workbook.active

# 写入表头
headers = ["Name", "Age", "Gender"]
for col, header in enumerate(headers):
    sheet.cell(row=1, column=col+1, value=header)

# 写入数据
data_list = [
    ["Tom", 20, "Male"],
    ["Jerry", 21, "Female"],
    ["John", 22, "Male"]
]
for row, data in enumerate(data_list):
    for col, value in enumerate(data):
        sheet.cell(row=row+2, column=col+1, value=value)

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

上述代码首先使用openpyxl中的Workbook函数创建一个新的Excel文件,然后使用active属性获取当前sheet,最后使用cell函数写入数据并保存Excel文件。

以上就是关于“Python操作excel的方法总结(xlrd、xlwt、openpyxl)”的完整实例教程,希望对大家有所帮助。