最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情

 更新時(shí)間:2022年01月26日 09:02:58   作者:你隔壁的小王  
這篇文章主要介紹了Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情,對(duì)文件夾和文件進(jìn)行屬性判斷,首先對(duì)文件夾進(jìn)行遍歷,看文件夾里有什么樣的文件,讀取出文件夾中的所有文件,下面文章將詳細(xì)介紹該內(nèi)容,需要的小伙伴可以參考一下

一、使用Python進(jìn)行文件和文件夾的判斷

  • 遞歸 :主要目的就是遍歷文件夾和文件
  • 對(duì)文件夾和文件進(jìn)行屬性判斷
  • 首先對(duì)文件夾進(jìn)行遍歷,看文件夾里有什么樣的文件,讀取出文件夾中的所有文件
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é)果:

二、使用Python完整的獲取所有文件及文件夾并讀取相應(yīng)的文件

在我們遍歷文件夾的基礎(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) ? ?

讀取成功! 

三、使用Python合并數(shù)據(jù)

在日常工作中我們有很多表格需要處理,如何批量的將很多個(gè)文件夾中的表格合并到一起?

重點(diǎn):

DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)

append的使用

  • 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ì)很卡,

到此這篇關(guān)于Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情的文章就介紹到這了,更多相關(guān)Python遍歷目錄下的文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中Pytest常用的插件

    python中Pytest常用的插件

    這篇文章主要介紹了python中Pytest常用的插件,Pytest是Python的一種單元測(cè)試框架,與unittest相比,使用起來更簡(jiǎn)潔、效率更高,也是目前大部分使用python編寫測(cè)試用例的小伙伴們的第一選擇了
    2022-06-06
  • Python通用驗(yàn)證碼識(shí)別OCR庫ddddocr的安裝使用教程

    Python通用驗(yàn)證碼識(shí)別OCR庫ddddocr的安裝使用教程

    dddd_ocr是一個(gè)用于識(shí)別驗(yàn)證碼的開源庫,又名帶帶弟弟ocr,下面這篇文章主要給大家介紹了關(guān)于Python通用驗(yàn)證碼識(shí)別OCR庫ddddocr的安裝使用教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python GUI庫圖形界面開發(fā)之PyQt5時(shí)間控件QTimer詳細(xì)使用方法與實(shí)例

    python GUI庫圖形界面開發(fā)之PyQt5時(shí)間控件QTimer詳細(xì)使用方法與實(shí)例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5時(shí)間控件QTimer詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下
    2020-02-02
  • Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情

    Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情

    這篇文章主要介紹了Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Opencv實(shí)現(xiàn)摳圖背景圖替換功能

    Opencv實(shí)現(xiàn)摳圖背景圖替換功能

    這篇文章主要為大家詳細(xì)介紹了Opencv實(shí)現(xiàn)摳圖替換背景圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法

    用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法

    今天小編就為大家分享一篇用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程

    用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程

    這篇文章主要介紹了用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程,同時(shí)介紹了如何去改進(jìn)精度來進(jìn)行算法優(yōu)化,需要的朋友可以參考下
    2015-04-04
  • 最新評(píng)論

    通江县| 宿州市| 巴东县| 扎囊县| 武夷山市| 湖北省| 丰宁| 肥西县| 荔浦县| 和田县| 阜南县| 丁青县| 定州市| 青浦区| 长子县| 万全县| 外汇| 额济纳旗| 平顺县| 峨眉山市| 建始县| 文山县| 盐津县| 沙坪坝区| 田林县| 阿拉善右旗| 彭阳县| 安塞县| 新泰市| 石嘴山市| 金川县| 建平县| 汕尾市| 马关县| 新化县| 洛浦县| 桐城市| 湘潭县| 泸西县| 礼泉县| 正定县|