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

该文介绍如何使用Python的os库来批量读取指定文件夹下的所有Excel文件。首先通过os.listdir获取文件夹中的文件名,然后利用os.path.join方法拼接文件夹路径和文件名,形成完整的文件路径,以便进一步处理Excel数据。
摘要由CSDN通过智能技术生成

  • 作者简介:一名云计算运维人员、每天分享Python的学习经验、和学习笔记。 

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

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

目录

前言

一.前期代码

二.实现批量读取

1.os库

2.实现思路

(1).实现批量的读取某文件下的每个Excel文件数据

(2)获取文件夹下的所有文件的名称

(3)文件路径=文件夹路径+文件名称

(4)使用for进行实现

(5)链路拼接

(6)定义空列表

3.本期全部代码


前言

本章将会讲解Python编程实现自动化办公案例(2)前期回顾Python编程自动化办公案例(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)#行,列下标

二.实现批量读取

1.os库

标准库,与操作系统交互的模块

Python的os库提供了通用的、基本的操作系统交互功能。os库是Python中的标准库,其中包含几百个子库。

import os

2.实现思路

(1).实现批量的读取某文件下的每个Excel文件数据

(2)获取文件夹下的所有文件的名称

#批量的读取某文件夹下的每个Excel文件数据

#获取某个文件下所有Excel文件的路径

#标准库 os

import os

path = r"C:\Users\86134\Desktop\zdh"
all_filename = os.listdir(path)
print(all_filename)

#['LL.xls', 'ls.xls', 'ww.xls', 'zs.xls']

(3)文件路径=文件夹路径+文件名称

如:

  • C:\Users\86134\Desktop\zdh\zs.xls
  •        C:\Users\86134\Desktop\zdh\ls.xls
  •        C:\Users\86134\Desktop\zdh\ww.xls
  •        C:\Users\86134\Desktop\zdh\ll.xls

会发现前面都是一样的,会不会有一种机制可以吧列表中的元素取出来然后再去跟对应路径拼接?

for filepath in all_filename:
    print(filepath)

#LL.xls
#ls.xls
#ww.xls
#zs.xls

(4)使用for进行实现

for filepath in all_filename:
    # print(filepath)
    filepath = path + filepath
    print(filepath)

#C:\Users\86134\Desktop\zdhLL.xls
#C:\Users\86134\Desktop\zdhls.xls
#C:\Users\86134\Desktop\zdhww.xls
#C:\Users\86134\Desktop\zdhzs.xls

在此发现输出的结果缺少“\”这便会出现问题,我们如何进行改进呢?

for filepath in all_filename:
    # print(filepath)
    filepath = path +"\\" +filepath
    print(filepath)

C:\Users\86134\Desktop\zdh\LL.xls
C:\Users\86134\Desktop\zdh\ls.xls
C:\Users\86134\Desktop\zdh\ww.xls
C:\Users\86134\Desktop\zdh\zs.xls

注意,\表示层级关系,在Python中需要使用\作为转义字符,也就是说\\-->\

使用这种方式虽然可以但是需要考虑的太多了,为此还有更好的方法吗?

(5)链路拼接

for filepath in all_filename:

    #链路拼接:
    filepath=os.path.join(path,filepath)
    print(filepath)

(6)定义空列表

all_filepath = []

3.本期全部代码


#批量的读取某文件夹下的每个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)

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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值