如何用pandas讀取一個(gè)文件或某個(gè)文件夾下所有文件
pandas讀取一個(gè)文件或某個(gè)文件夾下所有文件
讀取一個(gè)文件
直接用文件路徑。
如果是讀取某個(gè)文件夾下的所有文件,注意用os.path,逐個(gè)讀取文件,把新讀取到的Dataframe進(jìn)行concate操作到總的Dataframe中去。
詳細(xì)請(qǐng)見代碼。
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,不然會(huì)報(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監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站?
今天教各位小伙伴一個(gè)黑科技,用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站,文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Python通過內(nèi)置函數(shù)和自寫算法DFS實(shí)現(xiàn)排列組合
這篇文章主要介紹了Python通過內(nèi)置函數(shù)和自寫算法DFS實(shí)現(xiàn)排列組合,排列組合是數(shù)學(xué)中的一種常見的計(jì)算方法,用于求出從給定的元素中選取若干個(gè)元素的所有可能的排列或組合。在Python中,有多種方式可以實(shí)現(xiàn)排列組合的計(jì)算,需要的朋友可以參考下2023-05-05python基于?Web?實(shí)現(xiàn)?m3u8?視頻播放的實(shí)例
這篇文章主要介紹了python基于?Web?實(shí)現(xiàn)?m3u8?視頻播放的實(shí)例的相關(guān)資料,需要的朋友可以參考下2023-06-06Python如何聲明以管理員方式運(yùn)行(附實(shí)戰(zhàn)案例)
由于Windows的安全機(jī)制,Python寫的腳本缺少了管理員權(quán)限,運(yùn)行就會(huì)受到一些限制,這篇文章主要介紹了Python如何聲明以管理員方式運(yùn)行的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04numpy中數(shù)組拼接、數(shù)組合并方法總結(jié)(append(),?concatenate,?hstack,?vstack
numpy庫是一個(gè)高效處理多維數(shù)組的工具,可以在進(jìn)行邊寫的數(shù)組計(jì)算上進(jìn)行一系列的操作,下面這篇文章主要給大家介紹了關(guān)于numpy中數(shù)組拼接、數(shù)組合并方法(append(),?concatenate,?hstack,?vstack,?column_stack,?row_stack,?np.r_,?np.c_等)的相關(guān)資料,需要的朋友可以參考下2022-08-08Python如何查看并打印matplotlib中所有的colormap(cmap)類型
這篇文章主要介紹了Python如何查看并打印matplotlib中所有的colormap(cmap)類型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11如何用python實(shí)現(xiàn)一個(gè)HTTP連接池
這篇文章主要介紹了如何用python實(shí)現(xiàn)一個(gè)HTTP連接池的步驟,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01