Python讀取文件夾下的所有文件實例代碼
Python讀取文件夾下的所有文件
os.listdir(path)是得到在path路徑下所以文件的名稱列表。
open(path)是打開某個文件。
iter是python的迭代器。
所以讀取某文件夾下的所有文件如下:
import os path = "D:/Python34/news" #文件夾目錄 files= os.listdir(path) #得到文件夾下的所有文件名稱 s = [] for file in files: #遍歷文件夾 if not os.path.isdir(file): #判斷是否是文件夾,不是文件夾才打開 f = open(path+"/"+file); #打開文件 iter_f = iter(f); #創建迭代器 str = "" for line in iter_f: #遍歷文件,一行行遍歷,讀取文本 str = str + line s.append(str) #每個文件的文本存到list中 print(s) #打印結果
你也可以把遍歷文件夾的操作定義成一個函數,如果是文件夾就不斷迭代遍歷。進而讀取文件夾下所有的文件(包括文件夾裡中的文件)
Python批量讀取文件夾下所有文件
現給定一個文件夾,下面有很多文件(可能是一天一個數據文件等),我們要讀取該文件夾下面的所有文件,如:
代碼(包括刪除空文件,有參考網上代碼):
# -*- coding: utf-8 -*- """ Created on Wed Nov 20 23:28:00 2019 @author: 1 """ import pandas as pd import os # 刪除空文件夾,否則會報錯 def traverse(filepath): # 遍歷filepath下所有文件,包括子目錄 files = os.listdir(filepath) for fi in files: fi_d = os.path.join(filepath, fi) if os.path.isdir(fi_d): # 判斷是否為文件夾 if not os.listdir(fi_d): # 如果文件夾為空 os.rmdir(fi_d) # 刪除這個空文件夾 else: traverse(fi_d) else: file = os.path.join(filepath, fi_d) if os.path.getsize(file) == 0: # 文件大小為0 os.remove(file) # 刪除這個文件 def get_file(path): # 創建一個空列表 files = os.listdir(path) files.sort() # 排序 list = [] for file in files: if not os.path.isdir(path + file): # 判斷該文件是否是一個文件夾 f_name = str(file) # print(f_name) tr = '\\' # 多增加一個斜杠 filename = path + tr + f_name list.append(filename) return (list) if __name__ == '__main__': path = r'D:\workspace\python\m1\T-drive Taxi Trajectories\release\taxi_log_2008_by_id' traverse(path) list = get_file(path) for i in range(10): # 表示讀10個文件 df = pd.read_csv(list[i], sep=',') df.to_csv('taxi2.csv', mode='a', header=None)
總結
到此這篇關於Python如何讀取文件夾下所有文件的文章就介紹到這瞭,更多相關Python讀取文件夾內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found