一、安装支持库
在Python中,我们可以使用openpyxl库来读取和操作Excel文件。打开终端或命令行窗口并执行以下命令安装openpyxl库:
pip install openpyxl
如果出现连接超时等问题,可以考虑更换pip源,例如:
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
二、读取Excel文件
以下代码演示了如何使用openpyxl库从一个Excel文件中读取数据。
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 读取单个单元格的值
cell = sheet['A1']
print(cell.value)
# 读取多个单元格的值
cells = sheet['A1:B2']
for row in cells:
for cell in row:
print(cell.value)
上述代码首先打开了名为example.xlsx的Excel文件,然后选择Sheet1工作表。接下来,可以读取单个单元格的值,也可以读取包含多个单元格的单元格区域的值。
三、读取大型数据文件
对于比较大的Excel文件,如果我们使用上面的代码逐一读取每个单元格,会非常慢。此时我们可以使用openpyxl的迭代器遍历大型Excel文件,以下代码演示了如何迭代遍历Excel文件:
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('bigdata.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 按行遍历
for row in sheet.iter_rows():
for cell in row:
print(cell.value)
上面的代码会按行逐一遍历指定工作表的所有单元格,并输出每个单元格的值。
四、筛选数据
下面的代码演示了如何使用openpyxl库筛选Excel文件中的数据。
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('data.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 筛选包含特定文本的单元格
rows = sheet['A1:B5']
for row in rows:
for cell in row:
if 'Apple' in str(cell.value):
print(cell.value)
上述代码读取了指定工作表中的单元格,并输出了包含“Apple”文本的单元格的值。
五、写入Excel文件
除了从Excel文件中读取数据之外,我们还可以使用openpyxl库将数据写入到Excel文件中。以下是一些示例代码:
写入单个单元格的值:
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 写入单个单元格的值
cell = sheet['A1']
cell.value = 'Python'
# 保存文件
wb.save('example.xlsx')
写入多个单元格的值:
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择工作表
sheet = wb['Sheet1']
# 写入多个单元格的值
cells = sheet['A1:B2']
cell_values = [['Python', 'Java'], ['C++', 'JavaScript']]
for i in range(len(cells)):
for j in range(len(cells[i])):
cells[i][j].value = cell_values[i][j]
# 保存文件
wb.save('example.xlsx')
上述代码将值写入指定的单元格或单元格区域,并使用save方法将更改保存到Excel文件中。