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

无需pandas/csv库实现读取CSV字符串并过滤含NULL的缺陷行

无第三方依赖的CSV过滤函数实现

实现思路

  • 拆分输入字符串的换行符,分离表头与数据行
  • 逐行按逗号拆分字段,逐字段检查是否存在全大写NULL值
  • 仅保留无NULL的合法行,返回格式可根据需要调整,对齐原pandas实现的输出逻辑

代码实现

def filter_csv(csv_str):
    # 拆分所有行,自动过滤空行
    lines = [line.strip() for line in csv_str.splitlines() if line.strip()]
    if not lines:
        return []
    # 提取表头
    headers = lines[0].split(',')
    valid_rows = []
    # 遍历处理所有数据行
    for line in lines[1:]:
        fields = line.split(',')
        # 存在NULL直接跳过当前行
        if 'NULL' in fields:
            continue
        # 此处默认返回字典格式(字段名映射值,和pandas输出使用逻辑对齐)
        valid_rows.append(dict(zip(headers, fields)))
        # 如果需要返回「表头+二维数组」格式,替换上方append逻辑为下方代码即可
        # valid_rows.append(fields)
        # 最终返回时加上 return [headers] + valid_rows
    return valid_rows

注:当前实现适配无转义字符、无引号包裹含逗号字段的简单CSV场景,如有复杂CSV格式需求可自行扩展字段拆分逻辑。

测试验证

使用示例输入测试:

test_input = "id,name,age,score\n1,Jack,NULL,12\n17,Betty,28,11"
print(filter_csv(test_input))

输出结果:
[{'id': '17', 'name': 'Betty', 'age': '28', 'score': '11'}]
与需求预期完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:27:03