在 Python 中,读取 CSV 文件最常用的方式是使用标准库中的 csv
模块。下面是详细说明和使用示例:
data.csv
)name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago
csv.reader
(按行读取为列表)import csv
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row)
输出:
['name', 'age', 'city']
['Alice', '30', 'New York']
['Bob', '25', 'Los Angeles']
['Charlie', '35', 'Chicago']
csv.DictReader
(每行转为字典)import csv
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
输出:
{'name': 'Alice', 'age': '30', 'city': 'New York'}
{'name': 'Bob', 'age': '25', 'city': 'Los Angeles'}
{'name': 'Charlie', 'age': '35', 'city': 'Chicago'}
with open(...)
是上下文管理器,自动关闭文件。delimiter=';'
。csv.reader
读取的是列表,而 csv.DictReader
会使用首行为键自动转字典。rows = []
with open('data.csv', mode='r', encoding='utf-8') as f:
reader = csv.DictReader(f)
rows = list(reader)
print(rows)
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
输出是一个表格样式的 DataFrame。
pandas
是 Python 中一个功能强大的数据分析和处理库,常用于 表格数据(类似 Excel、CSV) 的读取、处理、分析和导出。
pip install pandas
import pandas as pd
df = pd.read_csv('data.csv') # 自动解析表头
print(df)
假设 data.csv
内容为:
name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago
输出:
name age city
0 Alice 30 New York
1 Bob 25 Los Angeles
2 Charlie 35 Chicago
print(df['name']) # 获取 name 列
print(df[['name', 'age']]) # 多列
print(df.iloc[0]) # 按位置取第1行
print(df.loc[1]) # 按索引取第2行
print(df[df['age'] > 30]) # 筛选 age > 30 的行
df['new_col'] = df['age'] + 10
df.drop('new_col', axis=1, inplace=True)
df.to_csv('output.csv', index=False) # index=False 不保存行号
print(df.describe()) # 数值列的统计信息
print(df['age'].mean()) # 平均年龄
功能 | 示例 |
---|---|
读文件 | pd.read_csv("file.csv") |
写文件 | df.to_csv("out.csv") |
筛选 | df[df["age"] > 30] |
添加列 | df["x"] = df["y"] + 1 |
删除列 | df.drop("col", axis=1) |
行访问 | df.loc[0] 或 df.iloc[0] |
统计 | df.describe() |