您的位置:

详解如何读取excel文件

一、安装支持库

在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文件中。