读取多个CSV文件,然后根据文件名重命名文件

蒂娜

目前,以下代码读取路径中的所有csv文件,然后保存在列表中。

我想用文件名的名称保存每个数据框,例如echo.csv

path = r'M:\Work\Experimental_datasets\device_ID\IoT_device_captures\packet_header_features' # use your path
all_files = glob.glob(os.path.join(path, "*.csv"))
li = []

for filename in all_files:
    df = pd.read_csv(filename, skiprows=15, sep='[|]',
        skipfooter=2, engine='python', header=None, 
        names=["sum_frame_len","avg_frame_len","max_frame_len","sum_ip_len"],
        usecols=[2,3,4,5]
        )
    li.append(df)

我得到的输出是数据帧的列表-但我希望每个这些数据帧都带有文件名,例如echo

如何从字典访问每个数据框

丹佛

正如您提到的,字典对于完成此任务很有用。例如:

import os
all_files = glob.glob(os.path.join(path, "*.csv"))
df_dict = {}

for filename in all_files:

    df = pd.read_csv(filename, skiprows=15, sep='[|]',
        skipfooter=2, engine='python', header=None, 
        names=["sum_frame_len","avg_frame_len","max_frame_len","sum_ip_len"],
        usecols=[2,3,4,5]
        )

    name = os.path.basename(filename).split('.')[0]
    df_dict[name] = df

剩下的就是字典df_dict,其中的键对应于文件名,值对应于给定文件中的数据。

您可以使用查看字典中的所有键,df_dict.keys()并使用选择一个给定的DataFrame df_dict[key]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章