答案:Python读取CSV文件主要有三种方法:1. 使用csv模块适合简单结构,可读取为列表或字典;2. pandas的read_csv最常用,支持DataFrame操作、类型推断和大文件分块;3. numpy适用于纯数值数据,用loadtxt或genfromtxt快速加载数组。

Python读取CSV文件有多种方式,每种适合不同场景。最常用的包括使用内置的csv模块、pandas库,以及用numpy处理数值型数据。下面介绍几种主要方法及其适用情况。
csv模块是Python标准库的一部分,适合处理结构简单、不需要复杂分析的CSV文件。
常见用法:
csv.DictReader,列名作为键,更易读示例代码:
立即学习“Python免费学习笔记(深入)”;
import csv
<h1>读取为列表</h1><p>with open('data.csv', 'r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row) # 每行是列表</p><h1>读取为字典</h1><p>with open('data.csv', 'r', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
print(row['name'], row['age']) # 按列名访问
pandas是最常用的数据分析库,pd.read_csv()功能强大,支持自动类型推断、缺失值处理、指定列、跳行等。
优点:
示例:
import pandas as pd
<h1>基本读取</h1><p>df = pd.read_csv('data.csv')</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/ai/1201">
<img src="https://img.php.cn/upload/ai_manual/001/431/639/68b7a1a04e740570.png" alt="创客贴设计">
</a>
<div class="aritcle_card_info">
<a href="/ai/1201">创客贴设计</a>
<p>创客贴设计,一款智能在线设计工具,设计不求人,AI助你零基础完成专业设计!</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="创客贴设计">
<span>150</span>
</div>
</div>
<a href="/ai/1201" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="创客贴设计">
</a>
</div>
<h1>指定参数</h1><p>df = pd.read_csv('data.csv', encoding='gbk', sep=';', index_col='id')</p><h1>只读前100行(适合大文件)</h1><p>df = pd.read_csv('large.csv', nrows=100)</p><h1>分块读取</h1><p>chunk_reader = pd.read_csv('huge.csv', chunksize=1000)
for chunk in chunk_reader:
process(chunk) # 逐块处理
如果CSV只包含数字,可以用numpy.loadtxt()或genfromtxt()快速加载为数组。
注意:
genfromtxt()支持处理缺失值示例:
import numpy as np
<h1>简单读取(全为数字)</h1><p>data = np.loadtxt('numbers.csv', delimiter=',')</p><h1>支持缺失值</h1><p>data = np.genfromtxt('data.csv', delimiter=',', skip_header=1)
实际使用中常遇到编码、分隔符、中文列名等问题,这里列出常见应对方式:
encoding='utf-8'、'gbk'或'latin1'
\t,用sep='\t'或delimiter='\t'
header=None或names=['col1','col2']
skiprows参数基本上就这些常用方式。小文件或学习阶段可用csv模块,做数据分析首选pandas,纯数值计算考虑numpy。根据数据特点选择合适方法,效率更高。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号