【Pandas】read_csv读取文件函数详解

【Pandas】read_csv读取文件函数详解

首先来了解一下官方给出的该函数用法

read_csv(filepath_or_buffer, 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, 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, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

但是我们日常用的话,也都了解,没必要全部都用上,所以接下来就介绍一些参数,满足我们日常所用。

  • filepath_or_buffer :
    字符串,这个字符串可以是URL,有效的URL方案包括http、ftp、s3和file。对于文件(file)URL,需要主机名 。例如,本地文件可以是://localhost/path/to/table.csv

  • sep :

    字符串,分割符,默认值为‘,’。如果sep为None,则C引擎无法自动检测分隔符,但Python解析引擎可以检测,这意味着将使用后者,并通过Python的内置嗅探器csves.niffer自动检测分隔符。此外,长度大于1个字符的分隔符将被解释为正则表达式,并强制使用Python解析引擎。正则表达式示例:’\r\t’

  • delimiter :

    字符串,分割符,默认值为 none。其是相当于sep的替代品,指定delimiter,那么sep便失效。

  • delim_whitespace :

    布尔值,默认值为 False。其用于是否指定使用空格隔离符,等价于 sep='\s+'. 如果此参数为True,则sep和delimiter将不发生效力。

  • header :

    整数,或整数列表,缺省值 ‘infer’指定第几行作为列名。缺省值‘infer’将第一行视作列名,header可以是一个整数的列表,如[0,1],可以使0行和1行同时成为其的列名。

【注】

缺省值是一种计算机术语(一个属性参数被修改前的初始值),指在无决策者干预情况下,对于决策或应用软件计算机程序的系统参数的自动选择。默认选项的设计可以在用户不须决策的状况下就可以基础地使用上述的软件与程序。

  • names:

    列名数组,指定列名,缺省值None。当header=None时,将使用 names作为列名,如果heander指定特定行,则使用names作为替代。

  • na_values :

    一组用于替换NA/NaN的值。如果传参,需要制定特定列的空值。默认为‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘nan’`.

【注】

NA:缺失数据
NaN:无意义的数,比如sqrt(-2), 0/0。
Inf:正无穷大
-Inf:负无穷大
NULL:不存在

#IND:来自于任何未定义结果(非法)的浮点数运算。

"IND"是 indeterminate(不确定) 的缩写,而"nan"是 not a number 的缩写。

IND表示NAN, 比如 0/0 log( -1 ) 等等。

IND是Windows上的说法,NaN是Linux上的说法,含义是一样的。

QNAN的意思是:Quiet Not A Number,也就是不会触发浮点异常的NaN,而NaN是“不是一个数”的意思。这一般说明你的数字超过了float的表示范围,比如用一个很大的数除很小的数,或者除0错误。

##摘抄自网络

  • comment :

    标识着多余的行不被解析。如果该字符出现在行首,这一行将被全部忽略。这个参数只能是一个字符,空行(就像skip_blank_lines=True)注释行被header和skiprows忽略一样。例如如果指定comment=’#’ 解析‘#empty\na,b,c\n1,2,3’ 以header=0 那么返回结果将是以’a,b,c’作为header。

  • index_col:

    默认为None 用列名作为DataFrame的行标签,如果给出序列,则使用MultiIndex。如果读取某文件,该文件每行末尾都有带分隔符,考虑使用index_col=False使panadas不用第一列作为行的名称。

  • skipinitialspace:

    忽略分隔符后的空格,默认false

  • encoding:

    编码方式

  • skip_blank_lines:

    默认为True,跳过blank lines 而且不是定义为NAN

  • usecols:

    可以选择想要返回的列,可以按列数取,也可以按列名取

  • dtype:

    设置数据类型,如可以整个data设置为int,也可以按列设置。如dtype={‘r1’: double, ‘r2’: int}

  • converters:

    为指定列设置数据类型,Keys可以是字符串(列名),也可以是整型(列的位置)。

部分参考自:https://blog.csdn.net/zjyklwg/article/details/79556545?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

发布了33 篇原创文章 · 获赞 7 · 访问量 4536

猜你喜欢

转载自blog.csdn.net/qq_45239614/article/details/104457955