① python获取指定目录下所有文件名列表的方法
本文实例讲述了python获取指定目录下所有文件名列表的方法。分享给大家供嫌返厅大家参考。具体实现方法如下:世拦
这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表:
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- coding: utf-8 -*-
#~ #------------------------------------------------------------------
#~ mole:wlab
#~ Filename:wgetfilelist.py
#~ Function :
#~ def IsSubString(SubStrList,Str)
#~ def GetFileList(FindPath,FlagStr=[]):
#~ 功能:读取芹隐指定目录下特定类型的文件名列表
#~ Data: 2013-08-08,星期四
#~ Author:吴徐平
#~ Email:wxp07@qq.com
#~ #------------------------------------------------------------------
#~ #------------------------------------------------------------------
def IsSubString(SubStrList,Str):
#判断字符串Str是否包含序列SubStrList中的每一个子字符串
#SubStrList=[F,EMS,txt]
#Str=F06925EMS91.txt
#IsSubString(SubStrList,Str)#return True (or False)
flag=True
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
#~ #----------------------------------------------------------------------
def GetFileList(FindPath,FlagStr=[]):
#获取目录中指定的文件名
#FlagStr=[F,EMS,txt] #要求文件名称中包含这些字符
#FileList=GetFileList(FindPath,FlagStr) #
import os
FileList=[]
FileNames=os.listdir(FindPath)
if (len(FileNames)0):
for fn in FileNames:
if (len(FlagStr)0):
#返回指定类型的文件名
if (IsSubString(FlagStr,fn)):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
else:
#默认直接返回所有文件名
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
#对文件名排序
if (len(FileList)0):
FileList.sort()
return FileList
可以使用pip在线安装wlab
?
1
pip install wlab
还是给个图吧:
希望本文所述对大家的Python程序设计有所帮助。
② python怎么将读出来的文件放到列表
csv文件的读取:
前期工作:在定义的py文件里边创建一个excel文件,并另存为csv文件,放入三行数据,我这里是姓名+年龄(可以自己随意写)
首先我们要在python环境里导入csv板块(测试小白的我喜欢用pycharm)
啦啦啦,开不开心,刺不刺激,纯小白内容,谢谢大家的阅读,欢迎留言交流,不要忘记我,我就是宇宙无敌的python小白白!
③ 自学Python:查看文件夹及子目录所有文件路径
使用路径对象glob()函数和rglob()函数,可以查看指定路径下的文件和子文件夹,两者的区别在于,glob()函数只进行一级查找,而rglob()函数会进行多级查找。
from pathlib import Path
p = Path('d:\\文件夹\\')
r = p.glob('*')
for i in r:
print(i) #显示glob()函数的结果
print('-' * 25) #这里是分割线
r = p.rglob('*')
for i in r:
print(i)#显示rglob()函数的结果
查看对应结果如下:
d:\11\11.txt
d:\11\r.mp3
d:\11\t.mp3
d:\11\tp1000
d:\11\文件夹
-------------------------
d:\11\11.txt
d:\11\r.mp3
d:\11\t.mp3
d:\11\tp1000
d:\11\文件夹
d:\11\文件夹\文档.txt
________________END______________
④ 如何用python遍历文件夹下的所有excel文件
大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法:
1.如何读取excel文件
网上的版本很多,在xlrd模块基础上,找到一些源码:
[python]view plain
importxdrlib,sys
importxlrd
defopen_excel(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx"):
data=xlrd.open_workbook(file)
returndata
#根据索引获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_index:表的索引
defexcel_table_byindex(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows=table.nrows#行数
ncols=table.ncols#列数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
#根据名称获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_name:Sheet1名称
defexcel_table_byname(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_name=u'Sheet1'):
data=open_excel(file)
table=data.sheet_by_name(by_name)
nrows=table.nrows#行数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
defmain():
tables=excel_table_byindex()
forrowintables:
print(row)
tables=excel_table_byname()
forrowintables:
print(row)
if__name__=="__main__":
main()
最后一句让代码里的函数都可以被复用,简单地说:假设文件名是a,在程序中import a以后,就可以用a.excel_table_byname()和a.excel_table_byindex()这两个超级好用的函数了。
2.然后是遍历文件夹取得excel文件以及路径:,原创代码如下:
[python]view plain
importos
importxlrd
importtest_wy
xpath="E:/唐伟捷/电力/电力系统总文件夹/舟山电力"
xtype="xlsx"
typedata=[]
name=[]
raw_data=[]
file_path=[]
defcollect_xls(list_collect,type1):
#取得列表中所有的type文件
foreach_elementinlist_collect:
ifisinstance(each_element,list):
collect_xls(each_element,type1)
elifeach_element.endswith(type1):
typedata.insert(0,each_element)
returntypedata
#读取所有文件夹中的xls文件
defread_xls(path,type2):
#遍历路径文件夹
forfileinos.walk(path):
foreach_listinfile[2]:
file_path=file[0]+"/"+each_list
#os.walk()函数返回三个参数:路径,子文件夹,路径下的文件,利用字符串拼接file[0]和file[2]得到文件的路径
name.insert(0,file_path)
all_xls=collect_xls(name,type2)
#遍历所有type文件路径并读取数据
forevey_nameinall_xls:
xls_data=xlrd.open_workbook(evey_name)
foreach_sheetinxls_data.sheets():
sheet_data=test_wy.excel_table_byname(evey_name,0,each_sheet.name)
#请参考读取excel文件的代码
raw_data.insert(0,sheet_data)
print(each_sheet.name,":Datahasbeendone.")
returnraw_data
a=read_xls(xpath,xtype)
print("Victory")
⑤ python 读取文件转换为列表
python 读取文本文件内容转化为python的list列表,案例如下:
1、目的
读取cal.txt内容,然后通过python脚本转化为list内容
2、文件内容
cal.txt
12
13
14
15
16
3、Python编写cal.py脚本内容
#!/usr/bin/python
#coding=UFT-8
result=[]
fd=file("cal.txt","r")
forlineinfd.readlines():
result.append(list(map(int,line.split(','))))
print(result)
foriteminresult:
foritinitem:
printit
4、执行转换为List列表结果内容:
[[12],[13],[14],[15],[16]]
12
13
14
15
16
⑥ python怎么删除文件夹以及里面的所有文件
os包的rmdir()函数可以用来抄删除一个袭文件夹,但是文件夹必须是空的。一种可行的方法是读取文件夹的文件列表,逐个删除文件夹中的所有文件,然而文件夹中可能还有文件夹,因此这是一个递归的操作。
shutil包rmtree()函数就实现了以上功能。shutil是一个高级文件操作的包,实现了文件及文件集合复制与删除的功能。rmtree()函数接收非空文件夹的路径这唯一一个参数。示例代码如下:
import shutil
path = 'g:\'
shutil.rmtree(path)
⑦ python 怎么把csv中的数据写入列表
使用pandas读取的方法抄是
pandas.to_csv()
得到的结果是dataframe格式,再用numpy库转一下
具体代码:
import pandas as pd
import numpy as np
file_content = pd.to_csv(r'C:\新建文件夹\result123.csv')
row = np.array(file_content)
lx = row.tolist()
⑧ python如何将一个文件夹下的所有excel读取,并每一个文件的第一列存为list
os.listdir() 得到路径下所有文件名构成的列表(在这里就是你的所有excel)
然后循环 读取excel文件就行了
读取和取第一列的数值都可以使用pandas 库,
df = pd.read_excel()
取第一列的数值构成list
list( df.iloc[:,0].values )
⑨ python读取txt文件多列成列表形式
解决方案如下:来
importos
fp=open(r"C:UsersYYCDesktopaa.txt")
result=[]
forlineainfp.readlines():
linea=linea.split("")[:-1]
result.append(linea)
fp.close()
printresult
打开文件进行读操作,源用open;
生命一个数组用来存放数据;
循环一行一行的渡数据;
按空格分割数据,并去除最后一个数据;
追加到数组中。