我递归地读取多个目录中的许多csv,每次读取其中的csv我都想添加一列名为num
的列,该列只是列表中该csv的索引。
path = r'data/'
all_files = glob.glob(os.path.join(path, "**/*.csv"), recursive=True)
有了文件名后,我想读入每个文件名,然后添加该列,但将其留作生成器,以供以后concat
使用。是否可以enumerate
生成器?
df_from_each_file = (pd.read_csv(f) for f in all_files)
df_from_each_file = (df.insert(0,'num',i,allow_duplicates=True) for i, df in enumerate(df_from_each_file))
concatenated_df = pd.concat(df_from_each_file, ignore_index=True)
这只会返回一堆None
df