代码之家  ›  专栏  ›  技术社区  ›  Charles R

Python Dask-读取具有不同列名的多个文件

  •  1
  • Charles R  · 技术社区  · 6 年前

    我每年每个月都有12份文件。

    一月档案

                        Jan
    index_0 | index_1 | 
    
    bla     | bla     |   3
    

    二月档

                        Feb
    index_0 | index_1 | 
    
    bla     | bla     |   2
    

    df = dd.read_csv(
        location + "*.txt", 
        sep=';',
        header=0
    )
    

    输出

                        Jan
    index_0 | index_1 | 
    
    bla     | bla     |   3
    bla     | bla     |   2
    

    预期产量

                        Month  | Value
    index_0 | index_1 | 
    
    bla     | bla     |   Jan        3
    bla     | bla     |   Feb        2
    

    如何将月份保存在数据框中?

    1 回复  |  直到 6 年前
        1
  •  1
  •   mdurant    6 年前

    当你想要习惯性行为 read_csv 提供,您应该转向 dask.delayed :

    def load_func(fn):
    
        df = pd.read_csv(
            location + "*.txt", 
            sep=';',
            header=0
        )
        df['month'] = df.columns[0]
        df.columns = ['value', 'month']
        return df
    
    
    ddf = dd.from_delayed([dask.delayed(load_func)(fn) for fn in files])