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

如何用Python解析大型CSV文件并提取指定列到列表(低内存)

提取大CSV文件指定列(不加载全量数据)的Python实现

处理大体积CSV文件时,直接加载全量数据会占用大量内存,用Python内置的csv模块逐行读取是最优方案——它的迭代器特性只会将当前行数据加载到内存,处理完成后立即释放,完美适配大文件场景。

实现代码与说明

核心思路是用csv.reader逐行遍历文件,每次提取目标列数据并加入结果列表:

import csv

# 目标列转换为0-based索引(用户需求的第3、6、15列对应索引2、5、14)
target_cols = [2, 5, 14]
result_list = []

# 用with语句自动管理文件资源,避免泄漏
with open('your_large_file.csv', 'r', newline='', encoding='utf-8') as csv_file:
    csv_reader = csv.reader(csv_file)
    
    # 如果CSV包含表头,取消下面一行注释即可跳过表头
    # next(csv_reader)
    
    for row in csv_reader:
        # 提取当前行的目标列数据,组成子列表存入结果
        extracted = [row[col] for col in target_cols]
        result_list.append(extracted)

关键细节提示

  • 内存优化:csv.reader是迭代器,每次仅加载一行数据到内存,不会把整个CSV文件读入内存
  • 跨平台兼容:newline=''是csv模块官方推荐参数,避免Windows/Linux/macOS下的换行符处理异常
  • 编码适配:根据你的CSV文件实际编码调整encoding参数(比如gbk适用于中文Windows生成的文件)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:12:39