发布时间:2023-03-15 文章分类:电脑基础 投稿人:樱花 字号: 默认 | | 超大 打印

·Python编程自动化办公案例(3)

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

前言

一.前几章代码 

1.获取到第一题的选项单元格

2.实现批量获取文件

二. 批量的读取文件夹下所有Excel的数据

三.批量读取某文件下的文件数据全部代码


前言

本章将会继续讲解Python自动化办公案例前期回顾: Python编程自动化办公案例(1)

Python编程自动化办公案例(2)

一.前几章代码 

1.获取到第一题的选项单元格

import xlrd
#1.打开张三xlsx excel工作簿
path = r"C:\Users\86134\PycharmProjects\zdh\zs.xlsx"
data = xlrd.open_workbook(path)
#获取第一个工作表对象
# table=data.sheets()
#获取到第一题的选项单元格
#注意: list index out of range 下标超出索引范围
#注意:里面的下标也是从0开始
# table.cell_value(rowx=3,colx=4)#行,列下标

2.实现批量获取文件


#批量的读取某文件夹下的每个Excel文件数据
#获取某个文件下所有Excel文件的路径
#标准库 os
import os
path = r"C:\Users\86134\Desktop\zdh"
all_filename = os.listdir(path)
all_filepath = []
for filepath in all_filename:
    #链路拼接:
    filepath=os.path.join(path,filepath)
    print(filepath)
    #链路拼接:
    filepath=os.path.join(path,filepath)
    all_filepath.append(filepath)
print(all_filepath)

二. 批量的读取文件夹下所有Excel的数据

前期我们进行了所有文件的读取,那么我们接下来将要开始读取文件下的excel的数据。

for file in all_filepath:
    data =xlrd.open_workbook(file)
    table = data.sheets()[0]
    #获取 用户名 回答1 回答2
    #1.用户名:从路径中 提取 用户名 刘六
    username = print(file.split("\\")[-1].split("."))
    #2.获取回答1 模板固定的获取单元格值
    auswerl1=table.cell_value(rowx=4,colx=4)
    #3.获取回答2
    auswerl2=table.cell_value(rowx=10,colx=4)
    # print(username,auswerl1,auswerl2)

三.批量读取某文件下的文件数据全部代码

# 批量的读取某文件夹下的每个Excel文件数据
# 获取某个文件下所有Excel文件的路径
# 标准库 os
import os
import xlrd
path = r"C:\Users\Administrator\Desktop\自动化"
all_filename = os.listdir(path)
all_filepath = []
for filepath in all_filename:
    # 链路拼接:
    filepath = os.path.join(path, filepath)
    print(filepath)
    # 链路拼接:
    filepath = os.path.join(path, filepath)
    all_filepath.append(filepath)
print(all_filepath)
#初始化列表
content = []
for file in all_filepath:
    data =xlrd.open_workbook(file)
    table = data.sheets()[0]
    #获取 用户名 回答1 回答2
    #1.用户名:从路径中 提取 用户名 刘六
    username = print(file.split("\\")[-1].split("."))
    #2.获取回答1 模板固定的获取单元格值
    auswerl1=table.cell_value(rowx=4,colx=4)
    #3.获取回答2
    auswerl2=table.cell_value(rowx=10,colx=4)
    # print(username,auswerl1,auswerl2)
    #将数据以行为单位:用户名,回答1,回答2
    temp = [username,auswerl1,auswerl2]
    #print(temp)
    content.append(temp)
print(content)

创作不易,求关注,点赞,收藏,谢谢~