Appearance
读取文本文件
Pandas 提供了多种读取文本文件的方法,最常用的是 read_csv。
基础读取
python
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 读取TSV文件
df = pd.read_csv('data.tsv', sep='\t')
# 读取指定编码
df = pd.read_csv('data.csv', encoding='utf-8')
df = pd.read_csv('data.csv', encoding='gbk')常用参数
python
# 指定列名
df = pd.read_csv('data.csv', header=0) # 第一行作为列名
df = pd.read_csv('data.csv', header=None) # 无列名
df = pd.read_csv('data.csv', names=['A', 'B', 'C']) # 自定义列名
# 指定索引列
df = pd.read_csv('data.csv', index_col=0) # 第一列为索引
df = pd.read_csv('data.csv', index_col='id') # 指定列为索引
# 选择特定列
df = pd.read_csv('data.csv', usecols=['姓名', '年龄'])
df = pd.read_csv('data.csv', usecols=[0, 2, 3]) # 按位置选择数据类型控制
python
# 指定数据类型
df = pd.read_csv('data.csv', dtype={'年龄': int, '工资': float})
# 解析日期
df = pd.read_csv('data.csv', parse_dates=['日期'])
# 自定义日期解析
df = pd.read_csv('data.csv', parse_dates={'日期时间': ['日期', '时间']})缺失值处理
python
# 指定缺失值标识
df = pd.read_csv('data.csv', na_values=['NA', 'N/A', 'null'])
# 不同列不同缺失值
df = pd.read_csv('data.csv', na_values={'年龄': ['未知'], '工资': ['待定']})
# 不将空值视为缺失值
df = pd.read_csv('data.csv', keep_default_na=False)大文件处理
python
# 分块读取
chunk_size = 1000
chunks = pd.read_csv('large_file.csv', chunksize=chunk_size)
for chunk in chunks:
# 处理每个块
print(chunk.shape)
# 只读取前n行
df = pd.read_csv('data.csv', nrows=100)
# 跳过行
df = pd.read_csv('data.csv', skiprows=10) # 跳过前10行
df = pd.read_csv('data.csv', skiprows=[1, 3, 5]) # 跳过指定行其他格式
python
# 读取固定宽度格式
df = pd.read_fwf('data.txt')
# 读取表格格式
df = pd.read_table('data.txt')
# 从字符串读取
from io import StringIO
data = """姓名,年龄
张三,25
李四,30"""
df = pd.read_csv(StringIO(data))读取JSON
python
# 读取JSON文件
df = pd.read_json('data.json')
# 读取JSON字符串
json_str = '[{"姓名": "张三", "年龄": 25}, {"姓名": "李四", "年龄": 30}]'
df = pd.read_json(json_str)读取HTML
python
# 从HTML表格读取
dfs = pd.read_html('table.html')
df = dfs[0] # 获取第一个表格
# 从URL读取
dfs = pd.read_html('https://example.com/table.html')掌握文件读取方法可以高效地导入各种格式的数据。