Python实现自动化办公(使用第三方库操作Excel)

这篇具有很好参考价值的文章主要介绍了Python实现自动化办公(使用第三方库操作Excel)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 使用 xlrd 读取Excel数据

1.1 获取具体单元格的数据

import xlrd

# 1. 打开工作簿
workbook = xlrd.open_workbook("D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx")
# 2. 打开工作表
sheet1 = workbook.sheets()[0]  # 选择所有工作表中的第一个
# 下面方法也可以
# sheet1 = workbook.sheet_by_index(0)
# sheet1 = workbook.sheet_by_name("Sheet1")

# 3.通过行号和列号读取具体单元格中的数据
data = sheet1.cell_value(0, 0) # 获取第 0行,第 0列的数据
print(data)

1.2 批量获取数据

相关知识:

获取所有工作表的数目

# 获取所有工作表的数目
sheet_nums: int = workbook.nsheets
print(sheet_nums)  # 返回一个整数

获取所有工作表的名称

# 获取所有工作表的名称
sheet_names: list = workbook.sheet_names()
print(sheet_names)  # 返回一个列表

获取一张表中单元格的行数

# 获取一张表单元格的行数
rows_num: int = sheet1.nrows
print(rows_num)

获取一张表中单元格的列数

# 获取一张表单元格的列数
cols_num: int = sheet1.ncols
print(cols_num)

 文章来源地址https://www.toymoban.com/news/detail-804482.html

批量读取数据:【代码】

# 批量读取数据
sheets = workbook.sheets()
for sheet in sheets:   # 遍历所有的工作表
    rows_num: int = sheet.nrows   # 获取一张表中的所有行
    cols_num: int = sheet.ncols   # 获取一张表中的所有列

    for row in range(rows_num):  # 遍历行
        for col in range(cols_num):  # 遍历一行中的所有列
            print(sheet.cell_value(row, col), end="\t\t\t\t")

        print()
    print("-------------------------")

2 使用xlwt 向Excel中写入数据

2.1 向Excel中具体的单元格中写入数据

import xlwt

# 1.首先创建一个工作簿
people = xlwt.Workbook()

# 2.创建一个工作表
sheet = people.add_sheet('人员表')

# 3.写入数据
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '性别')
sheet.write(0, 2, '年龄')

# 保存文件
people.save('D:/Python_study_projects/Python自动化办公/Excel/people.xlsx')

2.2 向Excel中批量写入数据

import xlwt

# 1.首先创建一个工作簿
people = xlwt.Workbook()

# 2.创建一个工作表
sheet = people.add_sheet('人员表')

# 3.写入数据
list_detail = [{"student_id": "1001", "name": "张三", "sex": "男"},
               {"student_id": "1002", "name": "李四", "sex": "女"},
               {"student_id": "1003", "name": "王五", "sex": "男"}]
row = 0
for rows in list_detail:
    for i, key in enumerate(rows):  # enumerate()遍历对象,返回下标和数据
        sheet.write(row, i, rows[key])
    row = row + 1

# 保存文件
people.save('D:/Python_study_projects/Python自动化办公/Excel/people.xlsx')

Python实现自动化办公(使用第三方库操作Excel),Python,python,自动化,excel

3 使用 xlutils 修改Excel工作簿

# 需要导入两个包,因为必须打开文件,才能作修改
import xlrd
from xlutils.copy import copy

# 1.首先打开需要读的工作簿并获取到具体得到工作表
read_book = xlrd.open_workbook('D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx')
read_sheet = read_book.sheets()[0]

# 2.先拷贝一份作为修改
write_book = copy(read_book)
# 在拷贝的工作簿中获取工作表
write_sheet = write_book.get_sheet(0)

# 3.遍历所有行,并修改下标为3的列的内容
for row in range(read_sheet.nrows):  
    write_sheet.write(row, 3, "修改的内容")


write_book.save("D:/Python_study_projects/Python自动化办公/Excel/test1_修改后.xlsx")

4 使用 openpyxl 读取Excel内容

注意openpyxl 和前面的xlrd不一样,openpyxl读取的行列是从1开始的,这就对应了Excel表格中的行列的位置

import openpyxl

# 读取操作
# 打开工作簿
workbook = openpyxl.load_workbook('D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx')

# 选择第一个工作表
sheet_1 = workbook['Sheet1']

4.1 读取具体单元格中的数据

# 获取指定单元格数据
cell = sheet_1.cell(1, 1)  #  第一个参数是行,第二个参数是列
print(cell.value)

4.2 读取指定行的数据

# 获取指定行的数据读 (取第三行数据)
cell_list = sheet_1[3]  # 参数 3表示第几行

for cell in cell_list:  # 遍历第三行,获得所有单元格
    print(cell.value)

4.3 读取所有行中的单元格的数据

# 读取所有的行中的指定单元格
for row in sheet_1.rows:
    print(row[1].value)

4.4 读取所有行中的所有单元格

读取所有行中的所有单元格,并读取一行放入列表中输出

# 读取所有的行中的所有单元格
for row in sheet_1.rows:
    row_text_list = []

    for cell in row:
        row_text_list.append(cell.value)
    print(row_text_list)

4.5 读取某些行

# 输出最大行数和列数、最小行数和列数   注意这边下标是从 1 开始的
print(f"最大行数: {sheet.max_row}")
print(f"最小行数: {sheet.min_row}")
print(f"最大列数: {sheet.max_column}")
print(f"最小列数: {sheet.min_column}")

# 读取某些行
# for col in sheet_1.iter_cols(min_col=2, max_col=4, min_row=1, max_row=3, values_only=True):
for row in sheet_1.iter_rows(min_row=2):
    # 里面参数指定读取的范围
    for cell in row:
        print(cell.value)


for row in sheet_1.iter_rows(min_row=2, max_row=4, min_col=1, max_col=3):
    # 里面参数指定读取的范围
    for cell in row:
        print(cell.value)

5 使用 openpyxl 向Excel中写入数据

5.1 向已有的Excel文件中写入数据

from openpyxl import workbook, load_workbook
# 读取操作
"""
    1.打开已有的文件
"""
# 打开工作簿
wb = load_workbook('D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx')
# 选择第一个工作表
sheet = wb.worksheets[0]
# 获取到具体的单元格
cell = sheet.cell(1,2)
cell.value = "姓名hello"
wb.save('D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx')

5.2 向没有的Excel文件中写入数据

文件不存在,首先需要创建

from openpyxl import workbook, load_workbook
"""
    2.如果文件不存在,则直接创建
"""
wb1 = workbook.Workbook()  # 创建工作簿
sheet1 = wb1.worksheets[0]

# 找到单元格
cell = sheet1.cell(1,2)
# 写入内容
cell.value = "hello"

5.3 向Excel文件中批量写入数据

wb1 = workbook.Workbook()  # 创建工作簿
sheet1 = wb1.worksheets[0]


list_detail = [{"student_id": "1001", "name": "张三", "sex": "男"},
               {"student_id": "1002", "name": "李四", "sex": "女"},
               {"student_id": "1003", "name": "王五", "sex": "男"}]
row = 1
for rows in list_detail:
    for i, key in enumerate(rows):
        cell = sheet1.cell(row, i+1)
        cell.value = rows[key]
    row += 1

Python实现自动化办公(使用第三方库操作Excel),Python,python,自动化,excel


Python实现自动化办公(使用第三方库操作Excel),Python,python,自动化,excel

 

到了这里,关于Python实现自动化办公(使用第三方库操作Excel)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【办公自动化】使用Python批量生成PPT版荣誉证书

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理PPT 二、批量生成PPT版荣誉证书  三、往期推荐           使用Python处

    2024年02月12日
    浏览(39)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月13日
    浏览(46)
  • 【办公自动化】使用Python批量处理Excel文件并转为csv文件

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 前言 一、Python处理Excel 二、批量处理Excel文件并转为csv文件 三、往期推荐          

    2024年02月10日
    浏览(37)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel(文末送书5本)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月14日
    浏览(50)
  • Python办公自动化 – 自动化清理数据和自动化系统命令

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年02月01日
    浏览(43)
  • python--自动化办公(Word)

    python自动化办公之—Word python-docx库

    2024年02月04日
    浏览(43)
  • Python&Excel办公自动化

    操作工作簿 01 新建一个excel工作簿 02 批量新建多个工作簿 03 打开已有的工作簿 04 打开文件夹下的所有工作簿 05 重命名多个工作簿 06 批量修改工作簿格式 07 拆分一个工作簿变成多个新工作簿 08 将多个工作簿合并为一个工作簿 09 按照扩展名分类工作簿 10 按照日期分类工作簿

    2024年02月08日
    浏览(43)
  • Python办公自动化 – 操作NoSQL数据库和自动化图像识别

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年02月02日
    浏览(46)
  • Python办公自动化 – 自动化文本翻译和Oracle数据库操作

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年01月17日
    浏览(64)
  • Python自动化办公之PDF拆分

    今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍! 需求 需要从 PDF 中取出几页并将其保存为新的 PDF,为了后期使用方便,这个工具需要做成傻瓜式的带有 GUI 页面的形式 选择

    2024年02月02日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包