pandas.read_csv()

Pandas使用一个二维的数据结构DataFrame来表示表格式的数据,相比较于Numpy,Pandas可以存储混合的数据结构,同时使用NaN来表示缺失的数据,而不用像Numpy一样要手工处理缺失的数据,并且Pandas使用轴标签来表示行和列

举个例子,读取后,21行9列 的文件变成了 20行9列,并且最左侧标记了行标号,原文件第一行被当做标题

输出pandas.read_csv时,使用省略号(…)来代替显示全部的行和列,若想输出全部的列名,可以使用colums属性,使用tolist()函数转化为list

参数:

encoding : str, default None

指定字符集类型,通常指定为'utf-8'

header : int or list of ints, default ‘infer'

指定行数用来作为列名,数据开始行数。如果文件中没有列名,则默认为0,否则设置为None。如果明确设定header=0 就会替换掉原来存在列名。header参数可以是一个list例如:[0,1,3],这个list表示将文件中的这些行作为列标题(意味着每一列有多个标题),介于中间的行将被忽略掉(例如本例中的2;本例中的数据1,2,4行将被作为多级标题出现,第3行数据将被丢弃,dataframe的数据从第5行开始。)。注意:如果skip_blank_lines=True 那么header参数忽略注释行和空行,所以header=0表示第一行数据而不是文件的第一行。

sep : str, default ‘,'

指定分隔符。如果不指定参数,则会尝试使用逗号分隔。分隔符长于一个字符并且不是‘\s+',将使用python的语法分析器。并且忽略数据中的逗号。正则表达式例子:'\r\t'

其他重要参数:

filepath_or_buffer : 路径 URL 可以是http, ftp, s3, 和 file.

delimiter: 同sep

delimiter_whitespace: True or False 默认False, 用空格作为分隔符等价于spe=’\s+’如果该参数被调用,则delimite不会起作用

header: 指定第几行作为列名(忽略注解行),如果没有指定列名,默认header=0; 如果指定了列名header=None

names 指定列名,如果文件中不包含header的行,应该显性表示header=None

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

usecols: 默认None 可以使用列序列也可以使用列名,如 [0, 1, 2] or [‘foo’, ‘bar’, ‘baz’],选取的列

as_recarray:默认False , 将读入的数据按照numpy array的方式存储,0.19.0版本后使用 pd.read_csv(…).to_records()。 注意,这种方式读入的na数据不是显示na,而是给以个莫名奇妙的值

squeeze: 默认为False, True的情况下返回的类型为Series

prefix:默认为none, 当header =None 或者没有header的时候有效,例如’x’ 列名效果 X0, X1, …

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

dtype: E.g. {‘a’: np.float64, ‘b’: np.int32} 指定数据类型

engine: {‘c’, ‘python’}, optional 选择读取的引擎目前来说C更快,但是Python的引擎有更多选择的操作

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

skiprows: list-like or integer or callable, default None 忽略某几行或者从开始算起的几行

skipfooter: 从底端算起的几行,不支持C引擎

nrows: int 读取的行数

na_values: 默认None NaN包含哪些情况,默认情况下, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’. 都表现为NAN

keep_default_na: 如果na_values被定义,keep_default_na为False那么默认的NAN会被改写。 默认为True

na_filter: 默认为True, 针对没有NA的文件,使用na_filter=false能够提高读取效率

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

thousands 千分位符号,默认‘,’

decimal 小数点符号,默认‘.’

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

low_memory 默认为True 在块内部处理文件,导致分析时内存使用量降低,但可能数据类型混乱。要确保没有混合类型设置为False,或者使用dtype参数指定类型。请注意,不管怎样,整个文件都读入单个DataFrame中,请使用chunksize或iterator参数以块形式返回数据。 (仅在C语法分析器中有效)

注:与read_excel类似

参考:https://blog.csdn.net/weixin_39175124/article/details/79434022

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 读取CSV(逗号分割)文件到DataFrame 也支持文件的部分导入和选择迭代 更多帮助参见:http://pan...
    原点_da4e阅读 606评论 0 0
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,516评论 0 13
  • 1 本文适合读者 刚开始学习Pandas的新手 2 环境 Python 3.7.0Pandas 0.23.4Num...
    渐悟懂劲阅读 4,603评论 0 2
  • 读取csv文件是遇到了pandas.read_csv函数。下面介绍下这个函数的用法。 pandas.read_cs...
    hplllrhp阅读 7,125评论 0 3
  • 一; 高三八班一阵喧闹,就像是一群麻雀聚集在一起,叽叽喳喳的叫着。 讨论的主题自然是赖星同学觉醒了修习魔法的天赋。...
    曹果果1阅读 229评论 0 0