详解Python如何实现Excel数据读取和写入
1. 引言
Excel作为常用的数据处理软件被广泛使用,而Python作为一种高效的数据处理语言,自然是不少人首选的数据处理工具之一。Python 通过一些第三方库可以实现对 Excel 文件的读写操作,本文将详细介绍如何实现数据的读取和写入。
2. Excel读取
本文主要介绍两种 Python 库用于 Excel 数据读取:openpyxl
和 xlrd
。
2.1 openpyxl
openpyxl
库可以用于读取和写入 Excel 2010 版本及以上的 xlsx 文件。以下示例用于读取包含数据的 Excel 文件:
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')
# 取得指定工作表
sheet = workbook['Sheet1']
# 读取单元格值
value = sheet.cell(row=1, column=1).value
# 获取整行或整列的值
row_values = [cell.value for cell in sheet[1]]
col_values = [cell.value for cell in sheet['A']]
# 获取所有行和列的值
rows = list(sheet.rows)
cols = list(sheet.columns)
2.2 xlrd
xlrd
库可以用于读取 Excel 的各种版本。以下示例用于打开 Excel 文件,并读取某行和某列的值:
import xlrd
# 打开 Excel 文件
workbook = xlrd.open_workbook('example.xls')
# 取得指定工作表
sheet = workbook.sheet_by_name('Sheet1')
# 读取单元格值
value = sheet.cell_value(rowx=0, colx=0)
# 获取整行或整列的值
row_values = sheet.row_values(rowx=0)
col_values = sheet.col_values(colx=0)
# 获取所有行和列的值
rows = [sheet.row_values(i) for i in range(sheet.nrows)]
cols = [sheet.col_values(i) for i in range(sheet.ncols)]
3. Excel写入
Python 可以通过 openpyxl
库和 xlwt
库将数据写入 Excel 文件。
3.1 openpyxl
openpyxl
库用于写入 Excel 2010 及以上版本的 xlsx 文件。以下示例演示了如何向 Excel 中写入数据:
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.Workbook()
# 创建工作表
sheet = workbook.active
# 写入单元格值
sheet.cell(row=1, column=1, value='Hello, openpyxl!')
# 按行写入多个值
data = [
('Name', 'Age', 'Score'),
('Tom', 18, 90),
('Jerry', 19, 80),
]
for row in data:
sheet.append(row)
# 保存
workbook.save('example.xlsx')
3.2 xlwt
xlwt
库可用于在 Excel 中写入数据,以下示例演示了如何使用 xlwt
库创建工作簿,并向该工作簿中的工作表中写入一些数据。
import xlwt
# 创建工作簿和工作表
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# 写入单元格值
sheet.write(0, 0, 'Hello, xlwt!')
# 按行写入多个值
data = [
('Name', 'Age', 'Score'),
('Tom', 18, 90),
('Jerry', 19, 80),
]
for r, row in enumerate(data):
for c, col in enumerate(row):
sheet.write(r+1, c, col)
# 保存
workbook.save('example.xls')
4. 结尾
本文介绍了 Python 如何实现 Excel 数据的读取和写入,包括使用 openpyxl
和 xlrd
库进行 Excel 读取操作,以及使用 openpyxl
和 xlwt
库进行 Excel 写入操作。希望本文可以帮助读者更好地应用 Python 进行数据处理的操作。