pandas.read_csv参数

pandas.read_csv函数用于读取CSV文件,参数包括filepath_or_buffer定义文件路径或对象,sep是列分隔符,header指定列名行,names为自定义列名,index_col用于指定行标签列,usecols选择所需列,squeeze将单列数据转换为Series。其他参数如dtype、engine、converters、parse_dates等控制数据类型、解析引擎、转换函数和日期解析。此函数返回一个DataFrame对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=’,’, delimiter=None, header=‘infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression=‘infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar=’"’, quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

ctrl+f 自己搜

参数解释

filepath_or_buffer : str,路径对象或类文件对象
任何有效的字符串路径都是可接 字符串可以是URL。有效的URL方案包括http,ftp,s3和file。对于文件URL,需要主机。本地文件可以是:file://localhost/path/to/table.csv。

如果你想传入一个路径对象,pandas接受任何os.PathLike。

通过类似文件的对象,我们使用read()方法引用对象,例如文件处理程序(例如,通过内置open函数)或StringIO。

sep : str,默认’,’
分隔符使用。如果sep为None,则C引擎无法自动检测分隔符,但Python解析引擎可以,这意味着后者将被使用并通过Python的内置嗅探器工具自动检测分隔符csv.Sniffer。此外,长度超过1个字符且不同的分隔符’\s+‘将被解释为正则表达式,并且还将强制使用Python解析引擎。请注意,正则表达式分隔符很容易忽略引用的数据。正则表达式的例子:’\r\t’。

delimiter : str,默认None
别名为sep。

header : int,int列表,默认’推断’
用作列名的行号和数据的开头。默认行为是推断列名:如果没有传递名称,则行为相同,header=0并且从文件的第一行推断列名,如果显式传递列名,则行为与之相同 header=None。明确传递header=0以能够替换现有名称。标头可以是整数列表,其指定列上的多索引的行位置,例如[0,1,3]。将跳过未指定的干预行(例如,跳过此示例中的2)。请注意,此参数忽略注释行和空行if skip_blank_lines=True,因此header=0表示第一行数据而不是文件的第一行。

names : 类似数组,可选
要使用的列名列表。如果文件不包含标题行,则应明确传递header=None。不允许在此列表中重复。

index_col : int,str,int / str的序列,或者False,默认值None
用作行标签的列DataFrame,以字符串名称或列索引的形式给出。如果给出了int / str序列,则使用MultiIndex。

注意:index_col=False可用于强制pandas 不使用第一列作为索引,例如,当您在每行末尾有一个带有分隔符的格式错误的文件时。

usecols : list-like或callable,optional
返回列的子集。如果类似于列表,则所有元素必须是位置(即文档列中的整数索引)或与用户名称或从文档标题行推断的列名对应的字符串。例如,一个有效的类似列表的 usecols参数将是或。元素顺序被忽略,因此也是如此。要从保留元素顺序实例化DataFrame,请按顺序使用列或 按顺序使用 列。[0, 1, 2][‘foo’, ‘bar’, ‘baz’]usecols=[0, 1][1, 0]datapd.read_csv(data, usecols=[‘foo’, ‘bar’])[[‘foo’, ‘bar’]][‘foo’, ‘bar’]pd.read_csv(data, usecols=[‘foo’, ‘bar’])[[‘bar’, ‘foo’]][‘bar’, ‘foo’]

如果是可调用的,则将根据列名评估可调用函数,返回可调用函数求值为True的名称。一个有效的可调用参数的例子是。使用此参数可以大大加快解析时间并降低内存使用率。lambda x: x.upper() in [‘AAA’, ‘BBB’, ‘DDD’]

squeeze : bool,默认为False
如果解析的数据只包含一列,则返回一个Series。

prefix : str,可选
没有标题时添加到列号的前缀,例如X0,X1,…的’X’

mangle_dupe_cols : bool,默认为True
重复列将被指定为’X’,‘X.1’,…‘X.N’,而不是’X’…‘X’。如果列中存在重复的名称,则传入False将导致数据被覆盖。

dtype : 列的名称或字典 - > type,optional
数据或列的数据类型。例如{‘a’:np.float64,‘b’:np.int32,‘c’:‘Int64’}将str或object与合适的na_values设置一起使用以保留和不解释dtype。如果指定了转换器,则它们将应用于dtype转换的INSTEAD。

engine : {‘c’,‘python’},可选
使用解析器引擎。C引擎速度更快,而python引擎目前功能更加完善。

converters : dict,可选
用于转换某些列中的值的函数的字典。键可以是整数或列标签。

true_values : list,optional
要视为True的值。

false_values : list,可选
要考虑为False的值。

skipinitialspace : bool,默认为False
分隔符后跳过空格。

skiprows : list-like,int或callable,optional
要在文件开头跳过(0索引)或要跳过的行数(int)的行号。

如果是可调用的,则将根据行索引计算可调用函数,如果应该跳过该行则返回True,否则返回False。一个有效的可调用参数的例子是。lambda x: x in [0, 2]

skipfooter : int,默认值为0
要跳过的文件底部的行数(不支持engine =‘c’)。

nrows : int,可选
要读取的文件行数。用于读取大文件。

na_values : 标量,str,list-like或dict,可选
要识别为NA / NaN的其他字符串。如果dict通过,则具体的每列NA值。默认情况下,以下值被解释为NaN:’’,’#N / A’,’#N / AN / A’,’#N’,’ - 1。#IND’,’ - 。#QNAN’, ‘-NaN’,’ - nan’,‘1。#IND’,‘1。#QNAN’,‘N / A’,‘NA’,‘NULL’,‘NaN’,‘n / a’,'nan ', ‘空值’。

keep_default_na : bool,默认为True
解析数据时是否包含默认NaN值。根据是否传入na_values,行为如下:

如果keep_default_na为True,并且na_values指定,na_values 附加到默认用于解析NaN值。
如果keep_default_na为True,并且未指定na_values,则仅使用默认NaN值进行解析。
如果keep_default_na是假,和na_values指定,只有指定的NaN值na_values用于解析。
如果keep_default_na为False,并且未指定na_values,则不会将任何字符串解析为NaN。
请注意,如果将na_filter作为False 传入,则将忽略keep_default_na和 na_values参数。

na_filter : bool,默认为True
检测缺失值标记(空字符串和na_values的值)。在没有任何NA的数据中,传递na_filter = False可以提高读取大文件的性能。

详细说明 : bool,默认为False
指示放置在非数字列中的NA值的数量。

skip_blank_lines : bool,默认为True
如果为True,则跳过空行而不是解释为NaN值。

parse_dates : bool或int或名称列表或列表或dict列表,默认为False
行为如下:

布尔值。如果为True - >尝试解析索引。
int或名称列表。例如,如果[1,2,3] - >尝试将每个列1,2,3解析为一个单独的日期列。
列表清单。例如,如果[[1,3]] - >将第1列和第3列组合在一起并解析为单个日期列。
dict,例如{‘foo’:[1,3]} - >将第1,3列解析为日期并调用结果’foo’
如果列或索引不能表示为日期时间数组,例如由于不可解析的值或时区的混合,则列或索引将作为对象数据类型以不变的方式返回。对于非标准日期时间解析,请pd.to_datetime在之后 使用pd.read_csv。为了解析与时区的混合物的索引或列中,指定date_parser是一个部分应用 pandas.to_datetime()与utc=True。有关详细信息,请参阅 使用混合时区解析CSV。

注意:iso8601格式的日期存在快速路径。

infer_datetime_format : bool,默认为False
如果启用了True和parse_dates,pandas将尝试推断列中日期时间字符串的格式,如果可以推断,请切换到更快的解析方法。在某些情况下,这可以将解析速度提高5-10倍。

keep_date_col : bool,默认为False
如果True和parse_dates指定组合多个列,则保留原始列。

date_parser : function,optional
用于将字符串列序列转换为日期时间实例数组的函数。默认用于dateutil.parser.parser执行转换。Pandas将尝试以三种不同的方式调用date_parser,如果发生异常则前进到下一个:1)将一个或多个数组(由parse_dates定义)作为参数传递 ; 2)将parse_dates定义的列中的字符串值连接(逐行)到一个数组中并传递; 3)使用一个或多个字符串(对应于parse_dates定义的列)作为参数,为每一行调用date_parser一次。

dayfirst : bool,默认为False
DD / MM格式日期,国际和欧洲格式。

cache_dates : 布尔值,默认为True
如果为True,请使用唯一的转换日期缓存来应用日期时间转换。解析重复的日期字符串时可能会产生显着的加速,尤其是具有时区偏移的日期字符串。

版本0.25.0中的新功能。

iterator : bool,默认为False
返回TextFileReader对象以进行迭代或获取块 get_chunk()。

chunksize : int,可选
返回TextFileReader对象以进行迭代。有关和的 更多信息,请参阅IO Tools文档。iteratorchunksize

compression : {‘推断’,‘gzip’,‘bz2’,‘zip’,‘xz’,无},默认’推断’
用于磁盘上数据的即时解压缩。如果’推断’和 filepath_or_buffer类似于路径,则从以下扩展中检测压缩:’。gz’,’。bz2’,’。zip’或’.xz’(否则无解压缩)。如果使用’zip’,则ZIP文件必须只包含一个要读入的数据文件。设置为None表示不进行解压缩。

版本0.18.1中的新功能:支持’zip’和’xz’压缩。

thousands: str,可选
千分离器。

decimal : str,默认’。’
要识别为小数点的字符(例如,对欧洲数据使用​​’,’)。

lineterminator : str(长度为1),可选
将文件分成行的字符。仅对C解析器有效。

quotechar : str(长度为1),可选
用于表示引用项目的开头和结尾的字符。引用的项目可以包括分隔符,它将被忽略。

quoting : int或csv.QUOTE_ *实例,默认为0
每个csv.QUOTE_*常量的控制字段引用行为。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)之一。

doublequote : bool,默认True
如果指定了quotechar且未引用QUOTE_NONE,则指示是否将字段中的两个连续的quotechar元素解释为单个quotechar元素。

escapechar : str(长度为1),可选
用于转义其他字符的单字符字符串。

comment : str,可选
表示不应解析行的剩余部分。如果在行的开头找到,则该行将被完全忽略。此参数必须是单个字符。与空行(只要skip_blank_lines=True)一样,参数标题会忽略完全注释的行,但不会被 跳过。例如,如果comment=’#’,解析 #empty\na,b,c\n1,2,3与header=0将导致“A,B,C”被视为标题。

encoding : str,可选
编码以在读/写时使用UTF(例如’utf-8’)。Python标准编码列表。

dialect : str或csv.Dialect,可选
如果提供的话,该参数将覆盖为以下参数的值(默认或不):分隔符,双引号,escapechar, skipinitialspace,quotechar,和引用。如果需要覆盖值,则会发出ParserWarning。有关更多详细信息,请参阅csv.Dialect文档。

error_bad_lines : bool,默认为True
具有太多字段的行(例如,带有太多逗号的csv行)将默认导致引发异常,并且不会返回任何DataFrame。如果为False,那么这些“坏行”将从返回的DataFrame中删除。

warn_bad_lines : bool,默认为True
如果error_bad_lines为False,并且warn_bad_lines为True,则将输出每个“坏行”的警告。

delim_whitespace : bool,默认为False
指定是否将空格(例如或)用作sep。相当于设定。如果此选项设置为True,则不应为 参数传递任何内容。’ ‘’ ‘sep=’\s+'delimiter

版本0.18.1中的新增功能:支持Python解析器。

low_memory : bool,默认为True
以块的形式内部处理文件,导致在解析时使用较少的内存,但可能是混合类型推断。要确保没有混合类型,请设置False,或使用dtype参数指定类型。请注意,整个文件都被读入单个DataFrame中,使用chunksize或iterator参数以块的形式返回数据。(仅对C解析器有效)。

memory_map : bool,默认为False
如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存并直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。

float_precision : str,可选
指定C引擎应该将哪个转换器用于浮点值。选项有没有对于普通转换器, 高的高精度转换器,以及round_trip用于往返转换器。

返回值

DataFrame or TextParser
A comma-separated values (csv) file is returned as two-dimensional data structure with labeled axes.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值