python_通过openpyxl读写Excel

这篇具有很好参考价值的文章主要介绍了python_通过openpyxl读写Excel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、模块安装

openpyxl模块可实现对excel文件的读、写和修改,使用之前需要先安装该模块。

# openpyxl生成的xlsx格式支持wps和office,xls格式只支持wps,使用office打开会报错
pip install openpyxl

二、 使用方法

  • Excel演示内容,整个Excel文件称为工作簿,工作簿中的每个页称为工作表,工作表又由单元格组成。
    python_通过openpyxl读写Excel

1、新建Excel并写入数据

import openpyxl

# 创建一个新的工作簿对象
wb = openpyxl.Workbook()

# 获取工作表对象(sheet)
ws = wb.active
print(ws)

# 设置Sheet名称
ws.title = '学生表'

# 创建一个新sheet,可以指定名称,index表示新创建的工作簿放在第几个位置, index从0开始计数
ws_1 = wb.create_sheet(index=1, title='成绩表')
ws_2 = wb.create_sheet(index=2, title='科目表')

# 获取所有工作表名称
print(wb.sheetnames)

# 方法一:写入单个单元格
ws['A1'] = '姓名'
ws['B1'] = '班级'
ws['c1'] = '年龄'

# 方法二:写入单个单元格(行,列,内容); 也可以直接ws.cell(1, 4, '学校')
ws.cell(row=1, column=4, value='学校')

# 写入多个单元格(追加模式,不会覆盖之前的,从有数据的下一行开始)
ws.append(['王明', '三年级一班', '9岁'])

# 第一列和第三列插入数据,第二列插入[None]值
ws.append(['王五', None, '10岁'])

# 追加第二行数据,过滤空值
# 获取工作表总行数
max_row = ws.max_row
col_values = []
# 遍历第二列所有行
for row in range(1, max_row+1):
    # 获取当前单元格的值
    cell_value = ws.cell(row=row, column=2).value
    # 如果当前单元格的值不为空
    if cell_value is not None:
        # 将当前单元格的值添加到列表中
        col_values.append(cell_value)
print("第二列有 %d 行数据" % len(col_values))
ws.cell(len(col_values)+1, 2, "三年级二班")

# 将新数据追加到最后一行,忽略第二列
data = [['张三', '10岁'], ['李四', '15岁']]
for row in data:
    # 在第二列插入 None 值,实现跳过该列
    row.insert(1, None)
    ws.append(row)

# 保存
wb.save('1.xlsx')

2、读取Excel数据

import openpyxl

# 获取工作簿对象
wb = openpyxl.load_workbook('1.xlsx')

# 获取所有工作表名称
print(wb.sheetnames)

# 获取工作表对象,三种方法
sheet1 = wb['学生表']
sheet2 = wb.worksheets[1]
sheet3 = wb[wb.sheetnames[2]]
print(sheet1, sheet2, sheet3)

# 获取工作表名称
title = sheet1.title
print(title)

# 获取工作表总行数
rows = sheet1.max_row
# 获取工作表总列数
cols = sheet1.max_column
# 总行,总列
print(rows, cols)


# 获取某一单元格内容(行, 列),例:2行1列,列表从1开始;也可以直接sheet1.cell(2, 1).value
cell = sheet1.cell(row=2, column=1).value
print(cell)

# 读取第一行的所有内容
row_list = []
for i in range(1, cols+1):
    cell_value = sheet1.cell(row=1, column=i).value
    row_list.append(cell_value)

print(row_list)

# 读取第一列的所有内容
column_list = []
for i in range(1, rows+1):
    cell_value = sheet1.cell(row=i, column=1).value
    column_list.append(cell_value)

print(column_list)


# 读取第二列的所有内容,不包含空值
col_values = []
# 遍历第二列所有行
for i in range(1, rows+1):
    # 获取当前单元格的值
    cell_value = sheet1.cell(row=i, column=2).value
    # 如果当前单元格的值不为空
    if cell_value is not None:
        # 将当前单元格的值添加到列表中
        col_values.append(cell_value)

print(col_values, len(col_values))

结果:
python_通过openpyxl读写Excel文章来源地址https://www.toymoban.com/news/detail-509614.html

3、编辑Excel数据

import openpyxl

# 获取工作簿对象
wb = openpyxl.load_workbook('1.xlsx')

# 获取工作表对象
sheet = wb['学生表']

# 修改指定单元格内容
sheet.cell(row=1, column=4, value='老师')

# 写入多个单元格(追加模式,不会覆盖之前的,从有数据的下一行开始)
sheet.append(['王五', '三年级二班', '10岁'])

# 复制"学生表",新sheet名称为"学生表 Copy"
ws_2 = wb.copy_worksheet(wb['学生表'])

# 保存
wb.save('1.xlsx')

4、删除Excel数据

import openpyxl

# 获取工作簿对象
wb = openpyxl.load_workbook('1.xlsx')

# 选择要删除内容的工作表和单元格(行, 列)
sheet1 = wb['学生表']
cell_to_delete = sheet1.cell(row=2, column=1)
# 删除单元格内容
cell_to_delete.value = None

# 删除 成绩表 工作表
del wb['成绩表']

# 保存
wb.save('1.xlsx')

到了这里,关于python_通过openpyxl读写Excel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python基于openpyxl操作excel

    环境: python3.11 系统: ubuntu20.04 使用依赖: openpyxl 跳转官网 2.1 创建工作簿 工作簿至少要包含一个工作表(sheet), 可以使用如下来获取它 也可以创建自定义名称的工作表 2.2 查看工作簿下的所有工作表 2.3 访问/修改某个单元格数据 比如说修改A1单元格位置的参数 2.4 保存为文件 2

    2024年02月20日
    浏览(47)
  • python—openpyxl操作excel详解

    openpyxl属于第三方模块,在python中用来处理excel文件。 可以对excel进行的操作有:读写、修改、调整样式及插入图片等。 但只能用来处理【 .xlsx】 后缀的excel文件。 使用前需要先安装,安装方法: 注: 一个excel文件可看做是一个工作簿,工作簿中的一个Sheet就是一个工作表

    2024年02月04日
    浏览(46)
  • Python-使用openpyxl读取excel内容

    将下面的excel中的寄存器表单读入并构建一个字典 wb.sheetnames 会返回一个列表,列表中是每个工作表的名称,数据类型为str。执行上述代码后ws就是获取的工作表。 使用sheet.cell会返回cell对象,再使用cell.value才能返回单元格的值,执行上述代码的结果如下: 按行读取可以用

    2024年03月12日
    浏览(64)
  • python之使用openpyxl读取excel

    获取最大行和最大列 获取某个单元格的值 获取行和列 通过worksheet.cell获取所有数据方法

    2024年02月15日
    浏览(48)
  • python 使用 openpyxl 处理 Excel 教程

    python 操作excel 的库有很多 ,有的库只能读取 xsl 格式,比如 xlrd 库; 有的库只能写 xsl 格式,比如 xlwt 库; 有的只能读写 xslx 格式,比如 openpyxl 库 。 综合各库及 xslx 格式比较常见,所以本文主要讲解 openpyxl 库对 xslx 格式的 excel 操作。 例如当使用 Pyramid, Flask 或 Django 等 we

    2024年02月10日
    浏览(58)
  • python使用OpenPyXl库对Excel进行操作

    参考:知乎文章 / OpenPyXL教程 / 博客园 目录 python使用OpenPyXl库对Excel进行操作 1. 基本概念 2. 判断文件是否存在 3. 创建和打开Excel文件 3.1. 创建Excel文件 3.2. 打开已有的Excel文件 4. 储存数据 5. sheet操作 6. cell操作 在OpenPyXl中的基本改变跟Excel文件中是完全一致的。 workbook sheet c

    2024年02月01日
    浏览(64)
  • 【openpyxl】python处理excel——删除指定行

    本文给出了用 openpyxl 删除excel满足指定条件的行或列的正确示范,同时给出了一些网络资料的常见错误供读者参考 因为需要删除的行数不固定,正确示范应该采用 while 循环来遍历excel表,方便删除操作,网络上很多教程采用 for 循环,存在循环过程中行号改变的错误 以下例子

    2024年02月12日
    浏览(42)
  • python-excel自动化-openpyxl

    openpyxl不进行计算; 它将公式写入单元格。 openpyxl库支持各种图表:条形图,折线图,面积图,气泡图,散点图和饼图。 !!!Openpyxl目前只支持在工作表内创建图表。现有工作簿中的图表将丢失。 以下设置会影响不同的图表类型。 通过将类型分别设置为col或bar,在垂直条

    2024年04月27日
    浏览(30)
  • python openpyxl模块使用教程

    openpyxl 在只读取数据时 Excel 文件可以打开,但是 有修改 时则不允许打开 openpyxl.Workbook() : 新建工作簿, 配合 save 方法使用 openpyxl.load_workbook( path ) : 打开 存在的 工作簿 wb[ sheet_name ] : 获取 指定名称的工作表对象 wb.get_sheet_by_name(\\\'Sheet1\\\') : 获取 指定名称的工作表对象 wb.sheetn

    2024年02月13日
    浏览(32)
  • 轻松学会Python--openpyxl库,处理Excel有如神助

    Excel是Windows环境下流行的、强大的电子表格应用。无论是在工作中还是学习中。我们几乎都在不间断的使用Excel来记录或处理一些数据。例如:可能有一个无聊的任务,需要从一个电子表格拷贝数据,粘贴到另一表格。 或者可能需要从几千上万行中挑选几行,根据各种条件稍

    2024年02月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包