Python字段转INT失败:gspread导入数据的count列无法转换为整型
count字段转int失败的核心原因
- 列内存在非标准数值内容:比如混入了空格、千分位逗号、特殊符号、空字符串、非ASCII全角数字(如
123)、字母/中文等非数字字符,pandas的astype(int)无法自动处理这类异常值,会直接保留列为Object类型避免强制转换报错。 - 存在缺失值:Google Sheet中的空单元格导入后会被识别为
NaN,NaN本身属于float类型,无法直接转为int类型,也会导致整列转换失败。
问题排查方法
执行以下代码即可定位异常内容:
import pandas as pd # 输出count列的所有唯一值,快速定位异常格式内容 print(df['count'].unique()) # 筛选出所有无法转为数值的行,直接查看异常值 error_mask = pd.to_numeric(df['count'], errors='coerce').isna() print(df.loc[error_mask, 'count'])
内容的提问来源于stack exchange,提问作者Iren Ramadhan
相关产品推荐
相关产品推荐

