前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python编程自动化办公案例(2)

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

作者头像
网络豆
发布2023-10-15 14:51:39
2430
发布2023-10-15 14:51:39
举报
文章被收录于专栏:python基础文章

前言

本章将会讲解Python编程实现自动化办公案例(2)前期回顾Python编程自动化办公案例(1)

获取某文件夹下所有文件的路径 。

一.前期代码

代码语言:javascript
复制
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中的标准库,其中包含几百个子库。

代码语言:javascript
复制
import os
2.实现思路
(1).实现批量的读取某文件下的每个Excel文件数据
(2)获取文件夹下的所有文件的名称
代码语言:javascript
复制
#批量的读取某文件夹下的每个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

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

代码语言:javascript
复制
for filepath in all_filename:
    print(filepath)

#LL.xls
#ls.xls
#ww.xls
#zs.xls
(4)使用for进行实现
代码语言:javascript
复制
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

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

代码语言:javascript
复制
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)链路拼接
代码语言:javascript
复制
for filepath in all_filename:

    #链路拼接:
    filepath=os.path.join(path,filepath)
    print(filepath)
(6)定义空列表
代码语言:javascript
复制
all_filepath = []
3.本期全部代码
代码语言:javascript
复制
#批量的读取某文件夹下的每个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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 一.前期代码
      • 二.实现批量读取
        • 1.os库
        • 2.实现思路
        • (1).实现批量的读取某文件下的每个Excel文件数据
        • (2)获取文件夹下的所有文件的名称
        • (3)文件路径=文件夹路径+文件名称
        • (4)使用for进行实现
        • (5)链路拼接
        • (6)定义空列表
        • 3.本期全部代码
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档