You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas读取Parquet文件时将long列转为string,解决解析错误

Pandas读取Parquet文件类型转换错误解决方案

问题场景

执行以下代码读取Parquet文件时:

import pandas as pd
product = pd.read_parquet('/datalake/test_usecase/products/')

触发错误:

ArrowInvalid: Failed to parse string: as a scalar of type int64.

目标列定义为long类型,但存在无法解析为int64的空字符串值,需要在读取阶段直接将该列转为string类型。

解决方法

直接通过read_parquet的dtype参数强制指定目标列的数据类型为字符串即可:

1. 指定单个列的类型

import pandas as pd
# 将'column_name'替换为实际需要转换的列名
product = pd.read_parquet('/datalake/test_usecase/products/', dtype={'column_name': 'string'})

2. 批量指定多个列的类型

如果有多个列需要转换,扩展字典中的键值对即可:

product = pd.read_parquet('/datalake/test_usecase/products/', dtype={
    'target_col1': 'string',
    'target_col2': 'string'
})

这种方式从读取阶段就强制设置列类型,避免了类型解析失败的问题,是最直接有效的处理方式。

内容的提问来源于stack exchange,提问作者Sr4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:07:08