如何用文件名标记记录,从多个csv文件导入到pandas数据帧?

时间:2017-12-15 22:52:37

标签: python pandas

我需要将一组csv文件导入到pandas数据帧中。

我已将文件路径导入为列表FP,并且我使用以下代码来读取数据:

for i in FP:
    df = pd.read_csv(i,index_col=None, header=0).append(df)

这很有效,但遗憾的是文件中没有日期时间戳或文件标识属性。我需要知道每个记录来自哪个文件。

我尝试添加此行,但这只返回了最终文件的文件名:

for i in FP:
    df = pd.read_csv(i,index_col=None, header=0).append(df)
    df['filename'] = i

我可以想象一些混乱的多步骤解决方案,但想知道在我现有的循环中是否有更优雅的东西。

1 个答案:

答案 0 :(得分:3)

我这样做:

df = pd.concat([pd.read_csv(f, header=None).assign(filename=f) for f in FP], 
               ignore_index=True)