① 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;
生命一個數組用來存放數據;
循環一行一行的渡數據;
按空格分割數據,並去除最後一個數據;
追加到數組中。