本章将会讲解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)#行,列下标
标准库,与操作系统交互的模块
Python的os库提供了通用的、基本的操作系统交互功能。os库是Python中的标准库,其中包含几百个子库。
import os
#批量的读取某文件夹下的每个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']
如:
会发现前面都是一样的,会不会有一种机制可以吧列表中的元素取出来然后再去跟对应路径拼接?
for filepath in all_filename:
print(filepath)
#LL.xls
#ls.xls
#ww.xls
#zs.xls
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中需要使用\作为转义字符,也就是说\\-->\
使用这种方式虽然可以但是需要考虑的太多了,为此还有更好的方法吗?
for filepath in all_filename:
#链路拼接:
filepath=os.path.join(path,filepath)
print(filepath)
all_filepath = []
#批量的读取某文件夹下的每个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)