Pandas read_csv函数参数示例

我们在处理数据文件时,有时是txt或者csv格式的文件,我们可以用pandas的read_csv来读取为dataframe。

txt和csv都是文本文件,用read_csv都可以打开(你甚至可以直接把txt后缀名改为csv,然后用Excel打开),今天我们来介绍read_csv的常见参数以及作用:

参数 描述
filepath_or jadx_buffer 指定要读取的文件路径或文件对象。可以是本地文件系统路径、URL或者任何实现了文件接口的对象。
sep / delimiter 用于指定字段之间的分隔符,默认为逗号(,)。两者功能相同,但只能使用其中一个。
header 指定哪一行作为列名。默认值为 ‘infer’,即自动检测。如果设置为 None,则不使用文件中的列名,而是自动生成。
names 提供一个列表来覆盖列名。当 header=None 时特别有用。
index_col 使用一列或多列作为行索引。可以是一个列名或列位置的列表。
usecols 只选择部分列进行加载。可以是一个列表或可调用对象。
dtype 为数据列指定数据类型。字典形式,键为列名,值为数据类型。
engine 选择解析引擎,如 ‘c’ 或 ‘python’。通常无需更改。
converters 对某些列应用转换函数。字典形式,键为列名,值为转换函数。
true_values / false_values 列表形式,定义哪些字符串应该被解释为布尔值 True 或 False。
skipinitialspace 如果为 True,则忽略分隔符后的空格。
skiprows 跳过文件开头的行数或特定行。可以是整数或列表形式。
skipfooter 跳过文件末尾的行数。
nrows 仅读取前 n 行。
na_values 额外的缺失值标识符。
keep_default_na 是否保留Pandas默认的NA/NaN识别字符。
na_filter 是否检测丢失值。
verbose 输出一些关于解析效果的信息。
skip_blank_lines 忽略空白行。
parse_dates 尝试将指定的列解析为日期。可以是布尔值、列名或列名列表。
infer_datetime_format 尝试推断日期时间格式。
dayfirst 如果为True,并且无法推断出日期格式,则优先考虑日-月-年的格式。
cache_dates 解析日期时是否缓存结果。
iterator 返回一个TextFileReader对象以便迭代块。
chunksize 指定读取块的大小。
compression 指示文件压缩类型。支持的类型有 ‘gzip’, ‘bz2’, ‘zip’, ‘xz’ 等。
thousands / decimal 千位分隔符和小数点符号。
lineterminator 行结束符。
quotechar 引用字符。
quoting 控制引用行为。
doublequote 当遇到 quotechar 时是否重复 quotechar。
escapechar 转义字符。
comment 注释开始的字符。
encoding 文件编码方式。
encoding_errors 编码错误处理方案。
dialect 自定义CSV方言。
on_bad_lines 处理“坏”行的方式:’error’(默认),’warn’,或’skip’。
delim_whitespace 是否使用任意空白字符作为分隔符。
low_memory 内部优化选项,影响内存使用效率。
memory_map 使用内存映射文件加速访问。
float_precision 指定浮点数精度解析器。
storage_options 存储后端的额外参数。

文件路径

filepath_or_buffer

作用:指定文件路径或类文件对象

示例:

import pandas as pd

# 本地文件
df = pd.read_csv('data.csv')

# 网络文件
df = pd.read_csv('https://example.com/data.csv')

分隔符

sep / delimiter

作用:设置字段分隔符(默认,)

示例:

# 用分号分隔
df = pd.read_csv('data.csv', sep=';')
# 等同于
df = pd.read_csv('data.csv', delimiter='|')

表头

header

作用:指定列名所在行(默认自动推断)

示例:

# 不读取列名行(自动生成列名)
df = pd.read_csv('data.csv', header=None)
# 指定第2行为列名
df = pd.read_csv('data.csv', header=1)

自定义列名

names

作用:自定义列名

示例:

df = pd.read_csv('data.csv', 
                 header=None, 
                 names=['id', 'name', 'value'])

设置索引列

index_col

作用:设置索引列

示例:

# 将第一列设为索引
df = pd.read_csv('data.csv', index_col=0)
# 多列复合索引
df = pd.read_csv('data.csv', index_col=['date', 'id'])

选择加载的列

usecols

作用:选择加载的列

示例:

# 加载指定列
df = pd.read_csv('data.csv', usecols=['id', 'name'])
# 使用列索引选择
df = pd.read_csv('data.csv', usecols=[0, 2])

强制指定列类型

dtype

作用:强制指定列类型

示例:

df = pd.read_csv('data.csv', 
                 dtype={'id': str, 'value': float})

自定义列转换函数

converters

作用:自定义列转换函数

示例:

# 将name列转为大写
df = pd.read_csv('data.csv', 
                 converters={'name': lambda x: x.upper()})

定义布尔值标识

true_values / false_values

作用:定义布尔值标识

示例:

df = pd.read_csv('data.csv', 
                 true_values=['yes', 'True'],
                 false_values=['no', 'False'])

忽略分隔符后的空格

skipinitialspace

作用:忽略分隔符后的空格

示例:

df = pd.read_csv('data.csv', sep=',', skipinitialspace=True)

跳过行数

skiprows / skipfooter

作用:跳过行数

示例:

# 跳过前3行和最后2行
df = pd.read_csv('data.csv', 
                 skiprows=3, 
                 skipfooter=2,
                 engine='python')  # 必须用python引擎

仅读取前N行

nrows

作用:仅读取前N行

示例:

df = pd.read_csv('data.csv', nrows=100)

解析日期列

parse_dates

作用:解析日期列

示例:

# 将date列解析为日期
df = pd.read_csv('data.csv', 
                 parse_dates=['date'],
                 dayfirst=True)  # 优先日-月-年格式

分块读取大数据

chunksize

作用:分块读取大数据

示例:

chunks = pd.read_csv('big_data.csv', chunksize=1000)
for chunk in chunks:
    process(chunk)

指定文件编码

encoding

作用:指定文件编码

示例:

# 处理中文编码
df = pd.read_csv('data.csv', encoding='gbk')

跳过注释行

comment

作用:跳过注释行

示例:

# 跳过以 # 开头的行
df = pd.read_csv('data.csv', comment='#')

自定义缺失值标识

na_values

作用:自定义缺失值标识

示例:

df = pd.read_csv('data.csv', 
                 na_values=['N/A', 'null', '--'])

处理数字格式

thousands / decimal

作用:处理数字格式

示例:

# 处理 "1,234.56" 格式
df = pd.read_csv('data.csv', 
                 thousands=',', 
                 decimal='.')

处理错误行

on_bad_lines

作用:处理错误行

示例:

# 跳过格式错误的行
df = pd.read_csv('data.csv', on_bad_lines='skip')

读取压缩文件

compression

作用:读取压缩文件

示例:

# 读取gzip压缩文件
df = pd.read_csv('data.csv.gz', compression='gzip')
文末声明:

您必须遵守关于,您可以随意转发/引用,但要注明原作者Leon或设置本文跳转连接,并且您必须在文中包含或提醒浏览者遵守作者声明
欢迎关注公众号获取第二手文章!高效工作法

暂无评论

发送评论 编辑评论


				
上一篇
下一篇