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

如何用Python遍历CSV行并导出各单元格数据类型至CSV

遍历CSV文件并导出各单元格数据类型的最佳方法

你的现有脚本仅完成了CSV读取和转字典的操作,还未实现遍历单元格检测类型并导出的功能。基于pandas的最佳实现方式如下:

基础版本(直接获取原生数据类型)

import pandas as pd

# 读取原始CSV,使用原始字符串避免Windows路径转义问题
df = pd.read_csv(r"C:\Users\Sridhar\Downloads\Leads.csv")

# 对每个单元格应用类型检测,生成存储类型信息的DataFrame
type_df = df.applymap(lambda cell: type(cell).__name__)

# 将结果导出为新的CSV文件,index=False不写入行索引
type_df.to_csv(r"C:\Users\Sridhar\Downloads\Leads_Data_Types.csv", index=False)

进阶版本(更细致的类型识别)

如果需要区分空值、数字形式的字符串等场景,可以自定义类型检测函数:

import pandas as pd

def get_precise_type(cell):
    # 优先识别空值
    if pd.isna(cell):
        return "NaN/Null"
    # 识别字符串类型,同时判断是否为数字格式的字符串
    elif isinstance(cell, str):
        try:
            float(cell)
            return "numeric_string"
        except ValueError:
            return "string"
    # 区分整数和浮点数
    elif isinstance(cell, int):
        return "integer"
    elif isinstance(cell, float):
        return "float"
    # 其他类型直接返回类名
    else:
        return type(cell).__name__

df = pd.read_csv(r"C:\Users\Sridhar\Downloads\Leads.csv")
type_df = df.applymap(get_precise_type)
type_df.to_csv(r"C:\Users\Sridhar\Downloads\Leads_Precise_Types.csv", index=False)

关键说明

  • applymap()是pandas中用于对DataFrame每个单元格批量处理的方法,效率远高于手动逐行遍历。
  • 路径使用原始字符串(前缀r)可以避免Windows系统中反斜杠被解析为转义字符的问题。
  • to_csv()的index=False参数可以防止把pandas的行索引写入输出文件,保持结果CSV的结构和原文件一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:20:32