如何用pandas讀取一個(gè)文件或某個(gè)文件夾下所有文件
pandas讀取一個(gè)文件或某個(gè)文件夾下所有文件
讀取一個(gè)文件
直接用文件路徑。
如果是讀取某個(gè)文件夾下的所有文件,注意用os.path,逐個(gè)讀取文件,把新讀取到的Dataframe進(jìn)行concate操作到總的Dataframe中去。
詳細(xì)請見代碼。
character_list =['1010011_i_u_prov', '9010081_i_b_location']
#這是讀取一個(gè)文件的,
# data=pd.read_csv('../data/10line_of_part-00000',sep='\t',header=None)
# 如果讀取所有文件呢?如下
file_dir="../data/dt=20200807"
all_file_list=os.listdir(file_dir)
for single_file in all_file_list:
# 逐個(gè)讀取
single_data_frame=pd.read_csv(
os.path.join(file_dir,single_file),sep='\t',header=None)
if single_file ==all_file_list[0]:
all_data_frame=single_data_frame
else: #進(jìn)行concat操作
all_data_frame=pd.concat([all_data_frame,
single_data_frame],ignore_index=True)
# data.columns=character_list,給dataframe的屬性重新命名。
all_data_frame.columns=character_list備注:
data數(shù)據(jù)是從sql中select出來的結(jié)果。
注意:
分隔符要用\t,不然會報(bào)錯(cuò)!
pandas讀取多個(gè)文件并合并到一起
先把文件位置放到一起,讀取文件,再concat。
subdir=‘store'
file_names = []#存文件名
file_names.append(test1.csv')#繼續(xù)添加文件名
csv_paths = []#存文件位置
for file_name in file_names:
csv_path = join( '..','csv', subdir, file_name)#文件位置
csv_paths.append(csv_path)
break
df_csvs = []
for csv_path in csv_paths:
df_tmp = pd.read_csv('%s' % csv_path, low_memory=False)
df_csvs.append(df_tmp)
df_total = pd.concat(df_csvs)#合并成一個(gè)dataframe#小技巧 非必須
#如列名為a.uid想改為uid 用以下方法操作 df_total.columns = [s[2:] for s in df_total.columns] df_total.shape
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)以時(shí)間換空間的緩存替換算法
緩存是指可以進(jìn)行高速數(shù)據(jù)交換的存儲器,它先于內(nèi)存與CPU交換數(shù)據(jù),因此速度很快。緩存就是把一些數(shù)據(jù)暫時(shí)存放于某些地方,可能是內(nèi)存,也有可能硬盤。下面給大家介紹Python實(shí)現(xiàn)以時(shí)間換空間的緩存替換算法,需要的朋友參考下2016-02-02
tensorflow實(shí)現(xiàn)簡單的卷積網(wǎng)絡(luò)
這篇文章主要為大家詳細(xì)介紹了tensorflow實(shí)現(xiàn)簡單的卷積網(wǎng)絡(luò),使用的數(shù)據(jù)集是MNIST,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
學(xué)生如何免費(fèi)使用Pycharm專業(yè)版學(xué)生認(rèn)證教程
這篇文章主要介紹了學(xué)生如何免費(fèi)使用Pycharm專業(yè)版,學(xué)生認(rèn)證教程,有了這個(gè)教程在校期間就可以免費(fèi)使用Pycharm,簡直是學(xué)生黨的福音,快來一起看看吧2023-03-03
關(guān)于numpy.polyfit()與Stats.linregress()方法最小二乘近似擬合斜率對比
這篇文章主要介紹了關(guān)于numpy.polyfit()與Stats.linregress()方法最小二乘近似擬合斜率對比,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Tensorflow 實(shí)現(xiàn)分批量讀取數(shù)據(jù)
今天小編就為大家分享一篇Tensorflow 實(shí)現(xiàn)分批量讀取數(shù)據(jù),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python數(shù)據(jù)處理之輕松實(shí)現(xiàn)顏色與數(shù)字的映射
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)處理中如何輕松實(shí)現(xiàn)顏色與數(shù)字的映射,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-05-05
如何用python獲取EXCEL文件內(nèi)容并保存到DBC
很多時(shí)候,使用python進(jìn)行數(shù)據(jù)分析的第一步就是讀取excel文件,下面這篇文章主要給大家介紹了關(guān)于如何用python獲取EXCEL文件內(nèi)容并保存到DBC的相關(guān)資料,需要的朋友可以參考2023-12-12
Python利用folium實(shí)現(xiàn)地圖可視化
Folium是建立在Python生態(tài)系統(tǒng)的數(shù)據(jù)整理(Datawrangling)能力和Leaflet.js庫的映射能力之上的開源庫。這篇文章主要給大家介紹了關(guān)于如何Python利用folium實(shí)現(xiàn)地圖可視化的相關(guān)資料,需要的朋友可以參考下2021-05-05

