提问者:小点点

迭代通过文件夹,并将每个CSV的一列添加到数据框


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

我想从每个文件创建一个具有特定列power(MW)的数据框,即总共90列,用文件名命名结果数据框中的列。


共1个答案

匿名用户

我处理此类问题的目标是尽快获得一个简单的数据结构。在本例中,这可能是数据帧的文件名字典。

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

你可能必须过滤掉坏的文件名,例如通过扩展,或者你可能更好地使用Glob...在这两种情况下,它都可以解决问题,这应该不会太糟糕。

那么问题就简单多了*:

  1. 如何从数据帧中获取一列df[colname]

*假设您了解python数据结构,例如列表理解。

另一种选择是仅对整个dict进行压缩:

pd.concat(frames)

(这将为您提供包含所有信息的多索引。)

相关问题