【问题标题】:Read a file name and create a column with it [closed]读取文件名并用它创建一个列[关闭]
【发布时间】:2020-02-06 11:28:02
【问题描述】:

我有一个名为 shoes_2016 的文件名,如何创建一个名为 year 的数据框列并根据文件名提取年份。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    split提取年份,转换为整数并赋值给DataFrame:

    filename = 'shoes_2016.csv'
    
    df = pd.read_csv(filename)
    df['year'] = int(filename.split('.')[0].split('_')[1])
    
    print (df)
    

    或者:

    filename = 'shoes_2016.csv'
    
    df = pd.read_csv(filename).assign(year = int(filename.split('.')[0].split('_')[1]))
    print (df)
    

    编辑:

    import os
    
    filename = 'c:/users/a/desktop/items/shoes_2016.xlsx'
    y = int(os.path.basename(filename).split('.')[0].split('_')[1])
    print (y)
    2016
    

    或者:

    y = int(filename.split('/')[-1].split('.')[0].split('_')[1])
    print (y)
    2016
    
    df = pd.read_csv(filename).assign(year = y)
    

    【讨论】:

    • 你为什么要去掉面具,为什么需要它?
    • @PrathikKini - 因为我首先认为 OP 需要过滤,然后再次阅读问题并且 OP 需要新列
    • 如果我的文件名是'c:/users/a/desktop/items/shoes_2016.xlsx',我该如何拆分
    • @3xtimpacts - 答案已编辑。
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多