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

如何阻止Pandas读取Excel文件时自动转换字段数据类型

解决方案

方法1:显式指定列类型(最推荐)

通过dtype参数直接声明各列的读取类型,强制pandas跳过自动类型推断逻辑,严格按照指定类型加载数据:

import pandas as pd

df = pd.read_excel(
    path,
    dtype={
        "pmid": int,
        "gene": str,
        "disease": str,
        "label": str
    },
    parse_dates=False
)

方法2:通过转换器强制转换值格式

如果存在特殊格式内容、dtype指定不生效的场景,可以使用converters参数对目标列的每一个值做强制字符串转换:

df = pd.read_excel(
    path,
    converters={
        "gene": lambda x: str(x)
    },
    parse_dates=False
)

注意事项

如果以上方法仍不生效,可先升级pandas和对应excel读取依赖到最新版本:

pip install --upgrade pandas openpyxl

原理解释

parse_dates=False仅能阻止pandas主动将整列作为日期格式批量解析,但不会禁用pandas读取单元格时的默认自动类型推断逻辑。类似3.Oct、4.Sep这类符合英文月份缩写规则的字符串会被自动识别为日期时间类型,和字段原始含义冲突,必须通过显式指定类型的方式覆盖默认推断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:36:01