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

调用Quickbooks APAgingSummary API转DataFrame报float无len()错误

问题根因
  • Quickbooks APAgingSummary API返回的ColData列存在缺失值,Pandas解析时会将空值默认存储为NaN(属于float类型)
  • 你现有代码未做空值判断,直接对全量ColData列执行取长度、转列表等操作,遇到NaN值时就会触发类型错误
  • 此前处理AccountListDetail API返回数据时无报错,是因为该接口返回的ColData列无空值
解决方案

1. 预处理ColData列空值

执行转换操作前,先将ColData列的所有空值替换为空列表,避免float类型的空值触发报错:

import pandas as pd

# 空值统一替换为空列表
df['ColData'] = df['ColData'].apply(lambda x: [] if pd.isna(x) else x)

pd.isna()可以同时识别NaN、None等各类空值,覆盖所有空场景。

2. 执行原有转换逻辑

预处理完成后,再执行将ColData列转列表传入DataFrame的操作即可正常运行:

# 原有转换逻辑示例
result_df = pd.DataFrame(df['ColData'].tolist())

可选优化

如果ColData列存在非列表类型的单值(比如字符串、数字),可以进一步统一格式:

df['ColData'] = df['ColData'].apply(
    lambda x: [] if pd.isna(x) else x if isinstance(x, list) else [x]
)

如果需要保留原本为空的行标记,可以新增标识列:

df['ColData_origin_empty'] = df['ColData'].apply(pd.isna)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:39:00