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

如何通过列格式字典配置Pandas读取CSV的列转换规则

实现列格式配置字典化的方案

完全可以按照你的需求,把列名和对应的转换规则统一放到一个字典里管理,这样代码更整洁也更容易维护。下面是具体的实现步骤:

首先,我们定义colFormats字典,把每一列的名称和对应的转换函数一一对应:

import pandas as pd
import decimal
D = decimal.Decimal

# 定义列格式配置字典
colFormats = {
    "stringCol": str,
    "floatCol": lambda x: D(0) if x.strip() == "" else D(x)
}

这里我稍微优化了空字符串的判断(用x.strip() == ""),避免因为字符串前后有空格导致判断失误,如果你不需要这个优化,直接用x == ""也完全没问题。

接下来,在pd.read_csv()中直接引用这个字典的内容就可以了:

df = pd.read_csv(
    sourceFileName,
    usecols=list(colFormats.keys()),  # 从字典中提取要读取的列名
    converters=colFormats  # 直接传入配置好的转换规则字典
)

这样做的好处很直观:

  • 所有列的处理逻辑都集中在一个字典里,后续要添加、修改或者删除列的转换规则,只需要修改这个字典就行,不用去调整read_csv的参数
  • 代码结构更清晰,一眼就能看出哪些列需要处理,以及对应的处理规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:23:47