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

Pandas实现Excel的RIGHT函数时出现.str访问器仅支持字符串错误如何解决

问题解决方法

报错原因

Can only use .str accessor with string values!报错的根源是Caller列被pandas自动推断为非字符串类型(如数值型、整型等),无法直接使用.str字符串访问器操作。

修复后完整代码

import pandas as pd

# 读取csv时直接指定Caller列为字符串类型,避免自动类型推断出错
df = pd.read_csv('file.csv', dtype={'Caller': str})
# 保留需要的两列
df = df[['Cost', 'Caller']]
# 先强制转换为字符串类型,再提取末尾10个字符,和Excel RIGHT函数行为完全一致
df['Cost'] = df['Caller'].astype(str).str[-10:]
# 保存时设置index=False避免输出多余的索引列
df.to_csv('file.csv', index=False)

适用说明

  • 即使后续处理的CSV文件中Caller列数据长度不统一,代码也可正常运行:当单元格内容长度不足10位时,会直接返回完整内容,和Excel RIGHT()函数的默认行为一致
  • 两层字符串类型校验(读取时指定dtype+操作前强制转换)可以兼容各种混合类型的原始数据,避免再次触发类型报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:15:02