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

不使用pandas、列表、enumerate如何从CSV文件读取指定行?

无第三方依赖的CSV指定行打印实现

现有代码问题梳理

  • 传入的count参数在函数内部被重新赋值为0,参数完全没有生效
  • 循环内每次执行row.pop(0)是移除每一行的第一个元素,并非你预期的移除整个表头行
  • 循环结束后才执行print(row)实际只会打印最后一行,返回值为函数本身而非读取结果,逻辑完全错误

符合要求的实现方案

下面的方案仅使用标准库csv,不依赖pandas、自定义列表存储全量内容、enumerate,仅通过自定义计数器实现指定行打印:

import csv
FILE = 'internet_access.csv'
def read_csv(file_path, target_row):
    # target_row为要打印的行号,跳过表头后从1开始计数,比如传入7就是表头后第7行
    with open(file_path, 'r') as infile:
        internet_reader = csv.reader(infile, delimiter=',')
        # 跳过表头行
        next(internet_reader)
        row_counter = 0
        for row in internet_reader:
            row_counter += 1
            if row_counter == target_row:
                # 打印目标行
                print(row)
                # 找到后直接返回,不需要继续读取后续行
                return row
    # 如果目标行号超出文件行数返回空
    return None

totals = read_csv(FILE, 7)
print(totals)

逻辑说明

  1. 用next()方法直接跳过表头行,不需要用pop操作处理
  2. 自定义row_counter变量计数,不需要使用enumerate
  3. 读取到目标行后直接返回,不会把全量文件内容存入列表,符合你的使用限制要求
  4. 如果目标行号超过文件实际行数,会返回None做兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:06:03