python - 跳过行后列索引不起作用
问题描述
我必须将 CSV 数据加载到内存中以对其进行处理并从中提取某些统计信息。问题是这些数据来自不同的来源,因此我必须进行一些先前的修改。一个特定的文件包含一些不包含有用信息的行,因此我必须执行 17 行跳转才能到达标题。
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 时,所有这些代码都能完美运行。
解决方案
推荐阅读
- jpa - JPA ManyToOne 不同服务器上的不同实例
- associations - python中的Apriori调用问题
- docusignapi - 使用带有 SPA 的 rest api 集成 DocuSign
- django - 在“ModelForm”中找不到键“fieldname”。Django 3.2
- java - 使用 Java 集合和流拆分逗号分隔列表
- python - 从表中删除列时索引超出范围(astropy)
- nginx - 代理传递到 nginx 中的请求标头
- javascript - 单击不同按钮时访问不同的数据对象
- google-apps-script - 跨工作表粘贴 Google 表格格式 - 自动
- reactjs - 如果 npm 安装只有 dist 文件夹而没有实际代码,我该如何修补包?