迭代文件夹并将每个CSV的一列添加到Dataframe

时间:2015-11-06 22:34:28

标签: python csv pandas dataframe

我有一个包含~90个CSV文件的文件夹。每个相关文件名为xxxxx-2012,并具有相同的列名。

我想从每个文件创建一个具有特定列power(MW)的单个DataFrame,总共90列,通过文件名命名生成的DataFrame中的列。< / p>

1 个答案:

答案 0 :(得分:1)

我对此类问题的目标是尽快获得简单的数据结构。在这种情况下,这可能是DataFrames的文件名字典。

frames = {filename: pd.read_csv(filename) for filename is os.listdir()}

您可能需要过滤掉错误的文件名,例如通过扩展,或者你可能最好使用glob ...在任何一种情况下它都会解决问题,这不应该太糟糕。

然后问题变得容易*:

  1. 如何从DataFrame中获取一列。 df[colname]
  2. 如何将列列表连接到DataFrame。
  3. *假设您了解python数据结构的方法,例如列表理解。

    另一种选择是连接整个字典:

    pd.concat(frames)
    

    (它为您提供包含所有信息的MultiIndex。)