欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何用pandas讀取一個文件或某個文件夾下所有文件

 更新時間:2024年02月01日 10:25:23   作者:旺仔的算法coding筆記  
這篇文章主要介紹了如何用pandas讀取一個文件或某個文件夾下所有文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

pandas讀取一個文件或某個文件夾下所有文件

讀取一個文件

直接用文件路徑。

如果是讀取某個文件夾下的所有文件,注意用os.path,逐個讀取文件,把新讀取到的Dataframe進行concate操作到總的Dataframe中去。

詳細請見代碼。

 
character_list =['1010011_i_u_prov',  '9010081_i_b_location']
#這是讀取一個文件的,
# 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:
    # 逐個讀取 
    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:  #進行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出來的結果。

注意:

分隔符要用\t,不然會報錯!

pandas讀取多個文件并合并到一起

先把文件位置放到一起,讀取文件,再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)#合并成一個dataframe

#小技巧 非必須

#如列名為a.uid想改為uid 用以下方法操作

df_total.columns = [s[2:] for s in df_total.columns]
df_total.shape

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論