本文共 1774 字,大约阅读时间需要 5 分钟。
在 Python 中读取和处理 CSV 文件,是日常数据分析工作中的常见任务。以下是几种常用的方法,帮助你高效地完成文件读取和数据解析。
Pandas 是读取和处理 CSV 文件的首选工具,因其功能强大且操作简便。
import pandas as pd# 读取 CSV 文件file_path = "data.csv"data = pd.read_csv(file_path)# 查看数据前几行print(data.head())
如果 CSV 文件使用的分隔符不是逗号,还可以通过 sep 参数指定:
data = pd.read_csv(file_path, sep=';')
对于包含特殊字符的 CSV 文件,可以指定编码方式:
data = pd.read_csv(file_path, encoding='utf-8') # 常用编码有 utf-8 和 gbk
NumPy 是一种强大且灵活的数值处理库,也可以用来读取 CSV 文件。它特别适合处理简单的数值型数据。
import numpy as np# 读取 CSV 文件file_path = "data.csv"data = np.loadtxt(file_path, delimiter=',', skiprows=1)# 查看数据print(data)
delimiter:指定分隔符,常用逗号 , 或分号 ;。skiprows:跳过文件的前几行。dtype:指定数据类型,默认为 float。NumPy 适合处理纯数值型文件。如果 CSV 文件包含字符串或混合数据类型,建议使用 Pandas。
csv 模块csv 模块适合处理简单的 CSV 文件,无需依赖外部库。
import csv# 读取 CSV 文件file_path = "data.csv"with open(file_path, mode='r', encoding='utf-8') as file: reader = csv.reader(file) for row in reader: print(row)
with open(file_path, mode='r', encoding='utf-8') as file: reader = csv.reader(file, delimiter=';') for row in reader: print(row)
如果 CSV 文件包含表头(列名),Pandas 是最佳选择。
import pandas as pd# 读取带表头的 CSV 文件data = pd.read_csv("data.csv")# 查看列名print(data.columns) file_path = r"C:\path\to\file.csv"
UnicodeDecodeError,尝试指定编码:data = pd.read_csv(file_path, encoding='gbk')
chunk_size = 1000for chunk in pd.read_csv(file_path, chunksize=chunk_size): print(chunk)
data = pd.read_csv(file_path, header=None, names=['col1', 'col2', 'col3'])
通过合理选择工具和方法,你可以高效地读取和处理 CSV 文件,满足不同场景的需求。
转载地址:http://hbofk.baihongyu.com/