我有一个包含~90个CSV文件的文件夹。每个相关文件名为xxxxx-2012,并具有相同的列名。
我想从每个文件创建一个具有特定列power(MW)
的单个DataFrame,即总共90列,通过文件名命名生成的DataFrame中的列。< / p>
答案 0 :(得分:1)
我对此类问题的目标是尽快获得简单的数据结构。在这种情况下,这可能是DataFrames的文件名字典。
frames = {filename: pd.read_csv(filename) for filename is os.listdir()}
您可能需要过滤掉错误的文件名,例如通过扩展,或者你可能最好使用glob ...在任何一种情况下它都会解决问题,这不应该太糟糕。
然后问题变得容易*:
df[colname]
。*假设您了解python数据结构的方法,例如列表理解。
另一种选择是连接整个字典:
pd.concat(frames)
(它为您提供包含所有信息的MultiIndex。)