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

按列扫描CSV,确定各列最强数据类型并统一应用

CSV列最强数据类型推断方案

核心需求

我们需要对CSV文件按列进行扫描,为每一列确定最强数据类型,并将该类型统一应用到整列。类型优先级规则为:str(字符串) > float(浮点数) > int(整数),优先级的设定源于目标输出文件类型的要求。

示例数据与类型说明

先看你给出的示例CSV(注:示例未使用逗号分隔,采用竖线/加号排版):

+ C1 + C2 + C3 + C4
R1 | i | s | i | f
R2 | i | f | i | i
R3 | i | i | s | f

其中类型缩写含义:

  • i = int(整数类型)
  • f = float(浮点数类型)
  • s = str(字符串类型)

每列最强类型推导

根据优先级规则,逐列分析:

  • C1列:所有行的类型都是i(int),没有更高优先级的类型出现,因此最强类型为int
  • C2列:行中出现了s、f、i三种类型,其中str优先级最高,所以整列最强类型为str
  • C3列:行中出现了i和s,str优先级高于int,因此最强类型为str
  • C4列:行中出现了f和i,float优先级高于int,所以最强类型为float

实现思路参考

如果要将这个逻辑落地为代码,大致流程如下:

  1. 读取CSV文件,逐行解析每个单元格的原始数据类型
  2. 为每一列初始化一个「当前最强类型」(默认设为最低优先级的int)
  3. 遍历每个单元格,对比其类型与对应列的当前最强类型:若单元格类型优先级更高,则更新列的最强类型
  4. 扫描完成后,将整列数据统一转换为该列的最强类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:24:08