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

使用pandas.read_csv时如何通过dtype指定item_number列读取为列表

问题排查
  1. 语法错误
    你给出的示例代码中dtype参数传入的字典使用了等号分隔键值,不符合Python字典的语法规范,即使后续逻辑正确,这段代码也会直接抛出语法错误,正确的键值分隔符应为冒号。
  2. 配置逻辑错误
    即使将语法修正为dtype = {'item_number': list},该配置也无法生效:pd.read_csv的dtype参数仅支持传入numpy标准数据类型、pandas官方扩展数据类型(如pd.StringDtype()),list不属于合法的可识别类型,pandas会默认将该列回退为object类型存储,但不会自动把读取到的字符串值封装为列表结构。
实现方案

目前仅靠dtype参数无法直接实现将列值自动封装为单元素列表的需求,dtype仅用于指定列的存储数据类型,不支持自定义值转换逻辑,可选择以下两种方式实现需求:

  • 方式一:先通过dtype指定为字符串类型,读取后二次转换
# 读取时指定为字符串类型
df = pd.read_csv(filepath, sep=',', dtype={'item_number': str})
# 转换为单元素列表
df['item_number'] = df['item_number'].apply(lambda x: [x])
  • 方式二:使用converters参数在读取阶段完成转换
df = pd.read_csv(filepath, sep=',', converters={'item_number': lambda x: [x]})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:54:02