Python-openpyxl读写xlsx文件详解

Openpyxl介绍

在数据处理和分析的过程中,Excel文件由于其直观的表格形式以及易操作的特点,被广泛应用于各个行业和领域。而Python作为一种强大的编程语言,自然也提供了多种处理Excel文件的库。其中,openpyxl库就是专门用于读写.xlsx文件的Python库。本文将详细介绍如何使用openpyxl库来读写xlsx文件。

一、安装openpyxl

在使用openpyxl库之前,首先需要确保已经安装了这个库。可以使用pip来安装:

pip install openpyxl

 

二、读取xlsx文件

加载工作簿

使用openpyxl.load_workbook()函数来加载一个已经存在的xlsx文件:

from openpyxl import load_workbook 

workbook = load_workbook('example.xlsx')

 

获取工作表

一个Excel文件可以包含多个工作表(Sheet),通过workbook.sheetnames可以获取所有工作表的名称列表,通过workbook[sheet_name]workbook.active可以获取对应的工作表对象。

sheet_names = workbook.sheetnames  # 获取所有工作表名称 

sheet = workbook['Sheet1']  # 获取名为'Sheet1'的工作表 

# 或者使用active属性获取活动工作表 
active_sheet = workbook.active

 

读取单元格数据

通过工作表的cell()方法或直接使用单元格坐标,可以读取单元格的数据。

# 使用cell()方法 
cell_value = sheet.cell(row=1, column=1).value  # 读取第一行第一列的数据 

# 使用单元格坐标 
cell_value = sheet['A1'].value  # 同样读取第一行第一列的数据

 

读取整行或整列数据 

row_values = [cell.value for cell in sheet[1]]  # 第一行数据 

column_values = [sheet[f'A{i}'].value for i in range(1, sheet.max_row + 1)]  # A列数据 

 

遍历工作表数据

如果需要遍历整个工作表的数据,可以使用iter_rows()iter_cols()方法。

for row in sheet.iter_rows(values_only=True): 
    print(row)  # 打印每一行的数据

 

三、写入xlsx文件

创建工作簿和工作表

使用openpyxl.Workbook()可以创建一个新的工作簿,并默认创建一个活动工作表。

from openpyxl import Workbook 

workbook = Workbook() 
sheet = workbook.active

 

写入单元数据

与读取单元格数据类似,可以使用cell()方法或直接使用单元格坐标来写入数据。

sheet['A1'] = 'Hello'        # 在第一行第一列写入'Hello' 

sheet.cell(row=2, column=2, value='World')       # 在第二行第二列写入'World'

 

保存工作簿

使用workbook.save()方法将修改后的工作簿保存到文件。

workbook.save('output.xlsx')  # 将工作簿保存为output.xlsx文件

 

四、注意事项

1在读取和写入xlsx文件时,注意文件的路径和名称是否正确。

2如果需要处理大量数据,建议使用pandas库来处理Excel文件,它提供了更强大和灵活的数据处理能力。

3openpyxl库主要用于处理.xlsx格式的文件,如果需要处理.xls格式的文件,可以使用xlrdxlwt库。

posted @ 2024-09-02 15:24  业余砖家  阅读(395)  评论(0编辑  收藏  举报