如何在python中使用openpyxl库读写Excel.xlsx文件(有参考列程)

 更新时间:2024年06月24日 09:11:16   作者:我爱喝伊利  
这篇文章主要给大家介绍了关于如何在python中使用openpyxl库读写Excel.xlsx文件的相关资料,openpyxl是一个第三方库,可以处理xlsx格式的Excel文件,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

Python中,读写.xlsx文件(即Excel 2007及以后版本的文件)常用的库有openpyxlpandasopenpyxl提供了对Excel工作簿、工作表、单元格等的底层操作,而pandas则提供了更高级的数据处理和分析功能,同时支持读写Excel文件。

如果列程没有看懂,文章后半部分有详细教程

读取.xlsx文件

import openpyxl  
  
# 打开Excel文件  
workbook = openpyxl.load_workbook('example.xlsx')  
  
# 获取活动工作表(通常是第一个工作表)  
sheet = workbook.active  
  
# 读取单元格数据  
cell_value = sheet['A1'].value  
print(cell_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列数据  
  
# 遍历所有单元格数据  
for row in sheet.iter_rows(values_only=True):  
    print(row)

写入.xlsx文件

import openpyxl  
  
# 创建一个新的Excel工作簿  
workbook = openpyxl.Workbook()  
  
# 获取活动工作表  
sheet = workbook.active  
  
# 写入单元格数据  
sheet['A1'] = 'Hello'  
sheet['B1'] = 'World'  
  
# 保存Excel文件  
workbook.save('output.xlsx')

使用openpyxl来更新一个已经存在的.xlsx文件中的单个单元格,而不改变其他

import openpyxl  
  
# 加载现有的Excel文件  
workbook = openpyxl.load_workbook('existing_file.xlsx')  
  
# 选择要修改的工作表,这里假设是第一个工作表  
sheet = workbook.worksheets[0]  
  
# 找到并修改特定的单元格,这里以A1为例  
cell = sheet['A1']  
cell.value = '新的值'  
  
# 保存修改后的工作簿,这里会覆盖原文件,如果需要保留原文件,请另存为新文件  
workbook.save('existing_file.xlsx')

综合应用:时刻数值记录,每天生成个excel文件,以当天的时间命名文件的名字,每隔2s在excel文档中记录一个数字,每次记录不覆盖原始的数据

import openpyxl
import time
import os
import random

current_time = time.strftime('%Y-%m-%d')
# 文件路径
file_path = str(str(current_time)+".xlsx")
# 判断文件是否存在
if os.path.exists(file_path):
    print(f"{file_path} 文件存在")
    # workbook = openpyxl.load_workbook('AA.xlsx')  # 加载已存在的工作簿
    workbook = openpyxl.load_workbook(file_path)
else:
    print(f"{file_path} 文件不存在")
    workbook = openpyxl.Workbook()  # 创建一个新的工作簿

# 获取活动工作表
sheet = workbook.active
print(sheet['AA1'].value)
if sheet['AA1'].value == None:
    start_row = 1
else:
    start_row = sheet['AA1'].value+1

while True:
    # 获取当前时间并格式化
    current_time = time.strftime('%H:%M:%S')
    # %Y - %m - %d
    content = random.randint(1, 999)
    # 将时间和内容写入工作表
    sheet.cell(row=start_row, column=1, value=current_time)
    sheet.cell(row=start_row, column=2, value=content)
    sheet['AA1'].value = start_row
    workbook.save(file_path)    # 保存工作簿
    start_row += 1              # 更新起始行以便下次写入新行
    time.sleep(2)
    column_values = [str(sheet[f'A{i}'].value)+"-"+ str(sheet[f'B{i}'].value) for i in range(start_row-5 , start_row)]
    print(column_values)

程序运行后会在程序所在的文件夹产生一个excel的表格,记录每隔2s产生的随机数

Python读写xlsx文件详解

在数据处理和分析的过程中,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  # 同样读取第一行第一列的数据

遍历工作表数据

如果需要遍历整个工作表的数据,可以使用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文件

四、注意事项

  • 在读取和写入xlsx文件时,注意文件的路径和名称是否正确。
  • 如果需要处理大量数据,建议使用pandas库来处理Excel文件,它提供了更强大和灵活的数据处理能力。
  • openpyxl库主要用于处理.xlsx格式的文件,如果需要处理.xls格式的文件,可以使用xlrdxlwt库。

总结 

到此这篇关于如何在python中使用openpyxl库读写Excel.xlsx文件的文章就介绍到这了,更多相关python openpyxl库读写Excel.xlsx文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python/Django后端使用PIL Image生成头像缩略图

    Python/Django后端使用PIL Image生成头像缩略图

    这篇文章主要为大家详细介绍了Python/Django后端使用PIL Image生成头像缩略图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • python的变量与赋值详细分析

    python的变量与赋值详细分析

    这篇文章主要介绍了python的变量与赋值详细分析,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Python 用NumPy创建二维数组的案例

    Python 用NumPy创建二维数组的案例

    这篇文章主要介绍了Python 用NumPy创建二维数组的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 解决Pycharm 运行后没有输出的问题

    解决Pycharm 运行后没有输出的问题

    这篇文章主要介绍了解决Pycharm 运行后没有输出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 利用Python将分组文本转为Excel的流程步骤

    利用Python将分组文本转为Excel的流程步骤

    在英语学习过程中,我们经常会接触各种分组整理的词汇表,如果你下载了一个 .txt 格式的四级词汇表,打算分类整理后导入 Excel 学习软件中,大概率你会遇到格式杂乱、分组不清,所以本文给大家介绍了如何用 Python 脚本自动读取一份分组文本,需要的朋友可以参考下
    2025-07-07
  • python深度学习tensorflow训练好的模型进行图像分类

    python深度学习tensorflow训练好的模型进行图像分类

    这篇文章主要为大家介绍了python深度学习tensorflow训练好的模型进行图像分类示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python Traceback(most recent call last)报错信息:示例解读

    Python Traceback(most recent call last)报错信息:示例解读

    这篇文章主要介绍了Python Traceback(most recent call last)报错信息:示例解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • python lambda 表达式形式分析

    python lambda 表达式形式分析

    这篇文章主要介绍了python lambda 表达式形式分析,​lambda​​表达式会创建一个函数对象,可以对其赋值并如同普通函数一样使用,下面通过定义了一个求平方的 lambda 表达式展开主题内容,需要的朋友可以参考一下
    2022-04-04
  • 用python基于appium模块开发一个自动收取能量的小助手

    用python基于appium模块开发一个自动收取能量的小助手

    大家都有了解过蚂蚁森林吧,本篇文章带给你自动收取蚂蚁森林能量的思路与方法,基于appium模块开发一个自动收取能量的小助手,本文给大家介绍的非常详细,对大家的学习或工作具有一定的价值
    2021-09-09
  • Python实现对Excel表格的操作详解

    Python实现对Excel表格的操作详解

    这篇文章主要介绍了Python实现对Excel表格的操作,在数据处理和报告生成等工作中,Excel表格是一种常见且广泛使用的工具,使用Python来处理Excel表格能够大大的提升效率,感兴趣的同学可以参考下
    2024-02-02

最新评论