将之前收集到的文件信息重新构建成绝对路径以便读取,同时使用endswith()判断文件名后缀为.xlsx,使用pandas的read_excel()进行读取。
其中sheet_name=可用表名或者数字,0代表第一个表,1代表第二个表,'sheet1’代表读取sheet1表。
import osfor wroot, wdirs, wfiles in os.walk(os.getcwd()):
for wdir in wdirs:
chuli1()
for wfile in wfiles:
chuli2()
在chuli1与chuli2中,分别对文件夹或文件进行过滤即可。
解决方案import os
import fnmatch
import zipfile
import re
def iterfindfiles(path, fnexp):
for root, dirs, files in os.walk(path):
for filename in fnmatch.filter(files, fnexp):
yield os.path.join(root, filename)
result=""
for filelist in iterfindfiles("D:Temporary", "*.zip"):
z = zipfile.ZipFile(filelist, "r")
for file in z.namelist():
result=result+file+"n"
print "以下内容是压缩包所包含文件:"
print result+"rn"
unicodepage=result.decode("utf-8")
myItems=re.findall("([wd]*?.txt)",unicodepage,re.S)
items=[]
print "以下是获取所有以.txt结束的文本"
for item in myItems:
items.append(item.replace("rn",""))
print items