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

Python中获取CSV第一列长度的最优方法?遇_csv.Error错误

Python获取CSV文件第一列长度的正确方法及优化

错误原因及修复

你遇到的_csv.Error是因为用**二进制模式('rb')**打开文件,csv.reader要求读取文本流而非字节流。只需将文件打开模式改为'r'(Python默认文本模式,也可写'rt'),就能解决该错误。

原代码的问题

你原代码中zip(*reader)会将整个CSV文件的所有行加载到内存中再提取第一列,对于大文件来说会占用过多内存,并非最优解。

最优实现方法

最优方式是逐行读取文件,仅统计第一列的行数,无需加载整个文件到内存,内存占用极低,适配各种大小的CSV:

import csv

first_col_count = 0
with open('export_U43V_WIRKNETZ.csv', 'r', newline='') as f:
    reader = csv.reader(f)
    # 若CSV包含表头,需跳过表头行(不需要则删除此行)
    next(reader)
    for row in reader:
        # 跳过空行,避免影响计数
        if row:
            first_col_count += 1
print(first_col_count)

另一种简洁高效的写法

用生成器表达式实现,同样是逐行处理,内存友好:

import csv

with open('export_U43V_WIRKNETZ.csv', 'r', newline='') as f:
    reader = csv.reader(f)
    # 按需跳过表头
    next(reader)
    first_col_count = sum(1 for row in reader if row)
print(first_col_count)

内容的提问来源于stack exchange,提问作者Jozef Bezák

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:36:06