跳过行后列索引不起作用

njthzxwz  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(164)

我必须将csv数据加载到内存中进行处理,并从中提取某些统计数据。问题是这些数据来自不同的来源,因此我必须在前面做一些修改。一个特定的文件包含一些不包含有用信息的行,因此我必须执行一个17行的skiprow才能到达标题。

df = pd.read_csv(
        filepath,
        skiprows=provider['skip'],
        usecols=columns.keys(),
        decimal='.' if provider['currency'] == 'USD' else ',',
        delimiter=provider['delimiter']
    )

此代码适用于所有不需要跳行的提供程序,但不适用于需要跳行的提供程序。 ValueError: Usecols do not match columns, columns expected but not found: ['Establecimiento', 'Prefijos', 'Destino', 'Tarifa', 'Fecha Vigencia', 'Tarificación'] 从df.columns可以看出,列名是正确的 Index(['Destino,Prefijos,Fecha Vigencia,Time Band,Tarifa,Variación,Tarificación Nª A,Establecimiento,Tarificación'], dtype='object') 但是,尝试通过这些访问将导致错误,而使用df.rename(columns=columns,inplace=true)将不会导致任何更改。当没有skiprows时,所有这些代码都可以完美地工作。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题