首页 > 解决方案 > 读取 zip 文件列表并从 Pandas 中的文件名中提取年份

问题描述

我正在尝试读取 Pandas 中的 zip 文件列表并将它们组合到一个数据框中。如何将文件名中的年份(例如 2014 年)提取到数据框中名为“YEAR”的新列中?谢谢!

files = ['CollegeScorecard_Data/MERGED2013_14_PP.zip',
 'CollegeScorecard_Data/MERGED2014_15_PP.zip',
 'CollegeScorecard_Data/MERGED2017_18_PP.zip',
 'CollegeScorecard_Data/MERGED2009_10_PP.zip',
 'CollegeScorecard_Data/MERGED2016_17_PP.zip',
 'CollegeScorecard_Data/MERGED2011_12_PP.zip',
 'CollegeScorecard_Data/MERGED2015_16_PP.zip',
 'CollegeScorecard_Data/MERGED2010_11_PP.zip',
 'CollegeScorecard_Data/MERGED2012_13_PP.zip']



 frames = []
 for file in files:

    df = pd.read_csv(file,compression='zip', low_memory=False)
    frames.append(df)

pd.concat(frames)

标签: pythonpandasfor-loop

解决方案


尝试连接():

frames = []
for file in files:
    df = pd.read_csv(file,compression='zip')
    # there several ways to get the year; here's one
    df['YEAR'] =  file.split('MERGED')[1].split('_')[0]
    frames.append(df)

pd.concat(frames)

推荐阅读