python遍歷目錄文件并讀取的操作是什么
Admin 2022-09-30 群英技術(shù)資訊 830 次瀏覽
關(guān)于“python遍歷目錄文件并讀取的操作是什么”的知識(shí)有一些人不是很理解,對(duì)此小編給大家總結(jié)了相關(guān)內(nèi)容,具有一定的參考借鑒價(jià)值,而且易于學(xué)習(xí)與理解,希望能對(duì)大家有所幫助,有這個(gè)方面學(xué)習(xí)需要的朋友就繼續(xù)往下看吧。import os
path= "./data" #路徑
files = os.listdir(path)
#os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。
for file in files:
print(file)
if os.path.isfile(path+ "/"+file):
#os.path.isfile(path) 判斷路徑是否為文件
print('file'+'這是一個(gè)文件')
filename,extension = os.path.splitext(file)
#分割路徑,返回路徑名和文件擴(kuò)展名的元組
if extension == ".txt":
print(filename+'這是一個(gè)文本文件')
elif extension == ".xlsx":
print(filename+'這是一個(gè)excel文件')
if os.path.isdir(path + "/" +file):
print(file+"是一個(gè)文件夾")
讀取結(jié)果:

在我們遍歷文件夾的基礎(chǔ)上,如何實(shí)現(xiàn)快速讀取指定文件,提高工作效率?
只需要在上述代碼的基礎(chǔ)上,導(dǎo)入pandas包,read_excel_我們所需要的文件即可
import pandas as pd
import os
path = './data'
def get_all_files(path):
print('-'*25+'函數(shù)被調(diào)用'+'-'*25)
files = os.listdir(path)
#os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。
for file in files:
if os.path.isfile(path+ "/"+file):
#os.path.isfile(path) 判斷路徑是否為文件
print('file'+">>>>>是文件")
filename,extension = os.path.splitext(file)
#分割路徑,返回路徑名和文件擴(kuò)展名的元組
if extension == ".txt":
print(filename+"#####是文本文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_table(path+'/'+file)
print(data)
elif extension == ".xlsx":
print(filename+'#####是Excel文件#####')
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_excel(path+'/'+file)
print(data)
elif extension == ".csv":
print(filename+'#####是csv文件#####')
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_csv(path+'/'+file)
print(data)
if os.path.isdir(path + "/" +file):
print(file+"¥¥¥¥¥¥¥是文件夾¥¥¥¥¥¥¥")
get_all_files(path+'/'+file)
get_all_files(path)

讀取成功!
在日常工作中我們有很多表格需要處理,如何批量的將很多個(gè)文件夾中的表格合并到一起?
重點(diǎn):
DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)
other: 是要添加的數(shù)據(jù),append很不挑食,這個(gè)other可以是dataframe,dict,Seris,list等等。ignore_index: 參數(shù)為True時(shí)將在數(shù)據(jù)合并后,按照0,1,2,3....的順序重新設(shè)置索引,忽略了舊索引。verify_integrity:參數(shù)為True時(shí),如果合并的數(shù)據(jù)與原數(shù)據(jù)包含索引相同的行,將報(bào)錯(cuò)。path='./project_data'
## 聲明一個(gè)空的DataFrame,用來做最終的數(shù)據(jù)合并
final_data = pd.DataFrame()
# 聲明一個(gè)空的DataFrame,用來做最終的數(shù)據(jù)合并
final_data = pd.DataFrame()
def get_all_files(path):
global final_data
print("-"*20 + "函數(shù)被調(diào)用" + "-"*20)
files = os.listdir(path)
for file in files:
if os.path.isfile(path + "/" +file):
print(file+">>>>>是文件")
filename,extension=os.path.splitext(file)
# 判斷是不是文本文件
if extension == ".txt" :
print(filename+"#####是文本文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_table(path+'/' +file)
print(data)
elif extension=='.xlsx':
print(filename+"#####是Excel文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_excel(path+'/' +file)
print(data)
elif extension=='.csv':
print(filename + "是csv文件,是本次需要處理的文件")
# 獲取文件內(nèi)容
file_data = pd.read_csv(path +'/'+file)
final_data = final_data.append(file_data,ignore_index=True)
#append描述:在列表ls最后(末尾)添加一個(gè)元素object
print("《《《《合并"+filename+"文件數(shù)據(jù)》》》》")
# 判斷是不是文件夾
elif os.path.isdir(path+'/'+file):
print(file + "¥¥¥¥是文件夾¥¥¥¥¥¥")
get_all_files(path + '/' + file)
get_all_files(path)
print("數(shù)據(jù)合并完成")

開始合并,我們來查看一下合并后的數(shù)據(jù):
總共1000多萬條數(shù)據(jù),如果我們用Excel的話估計(jì)要很多時(shí)間將這么多表格合并,而且會(huì)很卡,
import os
path= "./data" #路徑
files = os.listdir(path)
#os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。
for file in files:
print(file)
if os.path.isfile(path+ "/"+file):
#os.path.isfile(path) 判斷路徑是否為文件
print('file'+'這是一個(gè)文件')
filename,extension = os.path.splitext(file)
#分割路徑,返回路徑名和文件擴(kuò)展名的元組
if extension == ".txt":
print(filename+'這是一個(gè)文本文件')
elif extension == ".xlsx":
print(filename+'這是一個(gè)excel文件')
if os.path.isdir(path + "/" +file):
print(file+"是一個(gè)文件夾")
讀取結(jié)果:

在我們遍歷文件夾的基礎(chǔ)上,如何實(shí)現(xiàn)快速讀取指定文件,提高工作效率?
只需要在上述代碼的基礎(chǔ)上,導(dǎo)入pandas包,read_excel_我們所需要的文件即可
import pandas as pd
import os
path = './data'
def get_all_files(path):
print('-'*25+'函數(shù)被調(diào)用'+'-'*25)
files = os.listdir(path)
#os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表。
for file in files:
if os.path.isfile(path+ "/"+file):
#os.path.isfile(path) 判斷路徑是否為文件
print('file'+">>>>>是文件")
filename,extension = os.path.splitext(file)
#分割路徑,返回路徑名和文件擴(kuò)展名的元組
if extension == ".txt":
print(filename+"#####是文本文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_table(path+'/'+file)
print(data)
elif extension == ".xlsx":
print(filename+'#####是Excel文件#####')
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_excel(path+'/'+file)
print(data)
elif extension == ".csv":
print(filename+'#####是csv文件#####')
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_csv(path+'/'+file)
print(data)
if os.path.isdir(path + "/" +file):
print(file+"¥¥¥¥¥¥¥是文件夾¥¥¥¥¥¥¥")
get_all_files(path+'/'+file)
get_all_files(path)

讀取成功!
在日常工作中我們有很多表格需要處理,如何批量的將很多個(gè)文件夾中的表格合并到一起?
重點(diǎn):
DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)
other: 是要添加的數(shù)據(jù),append很不挑食,這個(gè)other可以是dataframe,dict,Seris,list等等。ignore_index: 參數(shù)為True時(shí)將在數(shù)據(jù)合并后,按照0,1,2,3....的順序重新設(shè)置索引,忽略了舊索引。verify_integrity:參數(shù)為True時(shí),如果合并的數(shù)據(jù)與原數(shù)據(jù)包含索引相同的行,將報(bào)錯(cuò)。path='./project_data'
## 聲明一個(gè)空的DataFrame,用來做最終的數(shù)據(jù)合并
final_data = pd.DataFrame()
# 聲明一個(gè)空的DataFrame,用來做最終的數(shù)據(jù)合并
final_data = pd.DataFrame()
def get_all_files(path):
global final_data
print("-"*20 + "函數(shù)被調(diào)用" + "-"*20)
files = os.listdir(path)
for file in files:
if os.path.isfile(path + "/" +file):
print(file+">>>>>是文件")
filename,extension=os.path.splitext(file)
# 判斷是不是文本文件
if extension == ".txt" :
print(filename+"#####是文本文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_table(path+'/' +file)
print(data)
elif extension=='.xlsx':
print(filename+"#####是Excel文件#####")
print("讀取"+filename+"文件中的內(nèi)容...........")
data = pd.read_excel(path+'/' +file)
print(data)
elif extension=='.csv':
print(filename + "是csv文件,是本次需要處理的文件")
# 獲取文件內(nèi)容
file_data = pd.read_csv(path +'/'+file)
final_data = final_data.append(file_data,ignore_index=True)
#append描述:在列表ls最后(末尾)添加一個(gè)元素object
print("《《《《合并"+filename+"文件數(shù)據(jù)》》》》")
# 判斷是不是文件夾
elif os.path.isdir(path+'/'+file):
print(file + "¥¥¥¥是文件夾¥¥¥¥¥¥")
get_all_files(path + '/' + file)
get_all_files(path)
print("數(shù)據(jù)合并完成")

開始合并,我們來查看一下合并后的數(shù)據(jù):
總共1000多萬條數(shù)據(jù),如果我們用Excel的話估計(jì)要很多時(shí)間將這么多表格合并,而且會(huì)很卡,
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:[email protected]進(jìn)行舉報(bào),并提供相關(guān)證據(jù),查實(shí)之后,將立刻刪除涉嫌侵權(quán)內(nèi)容。
猜你喜歡
這篇文章主要分享了6?個(gè)值得收藏的?Python?代碼,希望隊(duì)長正在學(xué)習(xí)的你有所幫助,需要的小伙伴也可以參考一下
Django程序做優(yōu)化還是很有必要的,在一定程度上能提高性能,但是要注意千萬別過度性能優(yōu)化。對(duì)此,下面小編就給大家分享一下Django程序的基本技巧,感興趣的朋友可以參考。
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.get_variable使用方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
這篇文章主要介紹了Python制作當(dāng)年第一款手機(jī)游戲-貪吃蛇游戲,文章利用Python?pygame做一個(gè)貪吃蛇的小游戲而且講清楚每一段代碼是用來干嘛的,需要的朋友可以參考一下
時(shí)間處理是我們?nèi)粘i_發(fā)中最最常見的需求,例如:獲取當(dāng)前datetime、獲取當(dāng)天date、獲取明天 前N天、獲取當(dāng)天開始和結(jié)束時(shí)間(00:00:00 23:
推薦內(nèi)容
相關(guān)標(biāo)簽
成為群英會(huì)員,開啟智能安全云計(jì)算之旅
立即注冊(cè)關(guān)注或聯(lián)系群英網(wǎng)絡(luò)
7x24小時(shí)售前:400-678-4567
7x24小時(shí)售后:0668-2555666
24小時(shí)QQ客服
群英微信公眾號(hào)
CNNIC域名投訴舉報(bào)處理平臺(tái)
服務(wù)電話:010-58813000
服務(wù)郵箱:[email protected]
投訴與建議:0668-2555555
Copyright ? QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版權(quán)所有
增值電信經(jīng)營許可證 : B1.B2-20140078 ICP核準(zhǔn)(ICP備案)粵ICP備09006778號(hào) 域名注冊(cè)商資質(zhì) 粵 D3.1-20240008