首页 > 解决方案 > Pandas - 读取 csvs 时忽略格式化的数据类型

问题描述

我有一个非常简单的函数,旨在解析和重新格式化 CSV 文件:

def parseFile(path, cols=[]):
    """
    Parse futures file given in path and re-index, only keep cols provided
    in cols.
    -------------------
    Usage:
        data = parseFileCSI('C:\\data\\66\\ad_9609', ['Open', 'Volume'])
    """

    filename = path.split('\\')[-1].split('.')[0]
    df = pd.read_csv(path, engine='c')
    df['ID'] = filename

    #align column names with TRTH
    df.rename(columns={'Fut Expiration Date':'ExpirationDate'}, inplace=True)

    df.set_index(['ID', 'ExpirationDate'], inplace=True)

    #keep specified columns
    if cols != []:
        df = df[cols]

    return df

但是,在 csv 文件中,到期日期被重新格式化为我不希望的格式,如下所示:

日期

我系统地阅读了数千个这样的 csv,因此浏览并更改所有这些 csv 是不可行的。如何解析这些日期字符串 fe'01-Apr-96'并将它们转换为有效日期?

标签: pythonpandas

解决方案


推荐阅读