您好,登錄后才能下訂單哦!
PYTHON Pandas批量讀取csv文件到DATAFRAME
首先使用glob.glob獲得文件路徑。然后定義一個(gè)列表,讀取文件后再使用concat合并讀取到的數(shù)據(jù)。
#讀取數(shù)據(jù) import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f in file: dl.append(pd.read_excel(f,header=[0,1],index_col=None)) df=pd.concat(dl)
下面看下Python使用pandas處理CSV文件的方法
Python中有許多方便的庫可以用來進(jìn)行數(shù)據(jù)處理,尤其是Numpy和Pandas,再搭配matplot畫圖專用模塊,功能十分強(qiáng)大。
CSV(Comma-Separated Values)格式的文件是指以純文本形式存儲(chǔ)的表格數(shù)據(jù),這意味著不能簡(jiǎn)單的使用Excel表格工具進(jìn)行處理,而且Excel表格處理的數(shù)據(jù)量十分有限,而使用Pandas來處理數(shù)據(jù)量巨大的CSV文件就容易的多了。
我用到的是自己用其他硬件工具抓取得數(shù)據(jù),硬件環(huán)境是在Linux平臺(tái)上搭建的,當(dāng)時(shí)數(shù)據(jù)是在運(yùn)行腳本后直接輸出在terminal里的,數(shù)據(jù)量十分龐大,為了保存獲得的數(shù)據(jù),在Linux下使用了數(shù)據(jù)流重定向,把數(shù)據(jù)全部保存到了文本文件中,形成了一個(gè)本地csv文件。
Pandas讀取本地CSV文件并設(shè)置Dataframe(數(shù)據(jù)格式)
import pandas as pd import numpy as np df=pd.read_csv('filename',header=None,sep=' ') #filename可以直接從盤符開始,標(biāo)明每一級(jí)的文件夾直到csv文件,header=None表示頭部為空,sep=' '表示數(shù)據(jù)間使用空格作為分隔符,如果分隔符是逗號(hào),只需換成 ‘,'即可。 print df.head() print df.tail() #作為示例,輸出CSV文件的前5行和最后5行,這是pandas默認(rèn)的輸出5行,可以根據(jù)需要自己設(shè)定輸出幾行的值
圖片中顯示了我本地?cái)?shù)據(jù)的前5行與最后5行,最前面一列沒有標(biāo)號(hào)的是行號(hào),數(shù)據(jù)一共有13列,標(biāo)號(hào)從0到12,一行顯示不完全,在第9列以后換了行,并且用反斜杠“\”標(biāo)注了出來。
2017年4月28日更新
使用pandas直接讀取本地的csv文件后,csv文件的列索引默認(rèn)為從0開始的數(shù)字,重定義列索引的語句如下:
import pandas as pd import numpy as np df=pd.read_csv('filename',header=None,sep=' ',names=["week",'month','date','time','year','name1','freq1','name2','freq2','name3','data1','name4','data2']) print df1234
此時(shí)打印出的文件信息如下,列索引已經(jīng)被重命名:
總結(jié)
以上所述是小編給大家介紹的Python Pandas批量讀取csv文件到dataframe的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。