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

使用pandas.read_excel读取Excel时CODE列前导零丢失问题求助

解决pandas读取Excel时带前导零列丢失前导零的问题

问题描述

原Excel文件中CODE列包含带前导零的数值(如032040014),使用pandas.read_excel时指定dtype={"CODE":str},但读取后CODE列前导零被自动去除。

原Excel内容:

CODE     QUANTITY   PRICE
1        032040014        32   15.60
2        032039012         5   12.30
3        023703010        10   17.80

使用的代码:

import pandas as pd
file_ = pd.read_excel(file_name, dtype={"CODE":str})

读取后结果:

CODE     QUANTITY   PRICE
1        32040014        32   15.60
2        32039012         5   12.30
3        23703010        10   17.80

解决方案

  • 使用converters参数替代dtype
    converters会在读取每个单元格时直接执行转换函数,优先级高于dtype,能避免Excel数值格式带来的解析问题:

    import pandas as pd
    file_ = pd.read_excel(file_name, converters={"CODE": str})
    
  • 修改Excel单元格格式为文本
    若Excel中CODE列是数值格式,即使指定dtype也会先按数值解析。先修改单元格格式:

    1. 选中CODE列所有单元格
    2. 右键→「设置单元格格式」→选择「文本」→确定
    3. 重新保存文件后,再用原代码读取即可保留前导零
  • 读取后补全前导零(适用于固定长度的CODE)
    如果知道CODE的固定长度(比如示例中是9位),读取后用str.zfill()补全:

    file_['CODE'] = file_['CODE'].astype(str).str.zfill(9)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:10:40