
| 例子编号 | 描述 | 参数/功能 | 代码示例(部分) | 预期结果描述 |
|---|---|---|---|---|
| 1 | 基本读取 | - | pd.read_csv('data.csv') |
数据集前 5 行 |
| 2 | 指定分隔符 | sep='\t' |
pd.read_csv('data.tsv', sep='\t') |
制表符分隔的前 5 行 |
| 3 | 忽略首行 | header=None |
pd.read_csv('data.csv', header=None) |
不含标题行的前 5 行 |
| 4 | 指定列名 | names列表 |
pd.read_csv('data.csv', names=names) |
指定列名的前 5 行 |
| 5 | 跳过错误行 | skiprows, skip_blank_lines |
pd.read_csv('data.csv', skiprows=1, skip_blank_lines=True) |
跳过错误行的前 5 行 |
| 6 | 指定列的数据类型 | dtype字典 |
pd.read_csv('data.csv', dtype=dtypes) |
指定数据类型的前 5 行 |
| 7 | 使用索引列 | index_col |
pd.read_csv('data.csv', index_col='Name') |
以 ‘Name’ 为索引的前 5 行 |
| 8 | 处理日期列 | parse_dates |
pd.read_csv('data.csv', parse_dates=['Date']) |
日期列为日期时间对象的前 5 行 |
| 9 | 限定读取行数 | nrows |
pd.read_csv('data.csv', nrows=10) |
前 10 行 |
| 10 | 合并多个 CSV 文件 | glob, pd.concat |
pd.concat([pd.read_csv(file) for file in files]) |
合并后数据集的前 5 行 |
| 11 | 自动检测编码 | `` | `` | 检测编码后读取 |
| 11 | 在读取时忽略错误字符 | `` | df = pd.read_csv('data.csv', encoding='utf-8', errors='ignore') |
import pandas as pddf = pd.read_csv('data.csv')print(df.head())
df = pd.read_csv('data.tsv', sep='\t')print(df.head())
df = pd.read_csv('data.csv', header=None)print(df.head())
names = ['Name', 'Age', 'Gender']df = pd.read_csv('data.csv', names=names)print(df.head())
df = pd.read_csv('data.csv', skiprows=1, skip_blank_lines=True)print(df.head())
dtypes = {'Age': int, 'Gender': 'category'}df = pd.read_csv('data.csv', dtype=dtypes)print(df.head())
df = pd.read_csv('data.csv', index_col='Name')print(df.head())
df = pd.read_csv('data.csv', parse_dates=['Date'])print(df.head())
df = pd.read_csv('data.csv', nrows=10)print(df.head())
import globfiles = glob.glob('data/*.csv')dfs = [pd.read_csv(file) for file in files]df = pd.concat(dfs)print(df.head())
Pandas没有内置的自动检测编码的功能,但是你可以手动尝试使用Python的chardet库来检测文件的编码:
import chardetwith open('file_path.csv', 'rb') as f:result = chardet.detect(f.read()) # 检测编码encoding = result['encoding']df = pd.read_csv('file_path.csv', encoding=encoding)
以utf-8读取csv文件,在读取时忽略错误字符
df = pd.read_csv('data.csv', encoding='utf-8', errors='ignore')