• 注册
    • 回帖总排行
    • 采纳总排行
    • 财富排行榜
    • 等级排行榜
  • learner
    We are the best gift for each other
    3002453金币
    关注
  • admintest
    We are the best gift for each other
    25金币
    关注
  • 讓歷史重演
    We are the best gift for each other
    2金币
    关注
  • 冰冷
    We are the best gift for each other
    2金币
    关注
  • 扬子江
    We are the best gift for each other
    2金币
    关注
  • 空白格‭
    We are the best gift for each other
    2金币
    关注
  • 相似的清风
    We are the best gift for each other
    2金币
    关注
  • 神经蛙
    We are the best gift for each other
    2金币
    关注
  • 高谈
    We are the best gift for each other
    2金币
    关注
  • 低调
    We are the best gift for each other
    2金币
    关注
  • learner
    We are the best gift for each other
    老铁/ 387 经验
    关注
  • admintest
    We are the best gift for each other
    小兵/ 7 经验
    关注
  • 讓歷史重演
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 冰冷
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 扬子江
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 空白格‭
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 相似的清风
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 神经蛙
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 高谈
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 低调
    We are the best gift for each other
    小兵/ 0 经验
    关注
  • 关注: 内容:

    pd.read_csv用法

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • pd.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, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=None, compact_ints=None, use_unsigned=None, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)

      重要参数:

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

      sep: 指定分割符,默认是’,’C引擎不能自动检测分隔符,但Python解析引擎可以

      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 小数点符号,默认‘.’

      encoding: 编码方式

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

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

      注:与read_excel类似

      import pandas as pd

      pd.read_csv(filepath_or_buffer,header,parse_dates,index_col)

      参数:

      filepath_or_buffer:

      字符串,或者任何对象的read()方法。这个字符串可以是URL,有效的URL方案包括http、ftp、s3和文件。可以直接写入”文件名.csv”

      header:

      将行号用作列名,且是数据的开头。

      注意当skip_blank_lines=True时,这个参数忽略注释行和空行。所以header=0表示第一行是数据而不是文件的第一行。

      【注】:如果csv文件中含有中文,该如何?

      1、可修改csv文件的编码格式为unix(不能是windows)(用notepad++打开修改)

      2、df = pd.read_csv(csv_file, encoding=”utf-8″),设置读取时的编码或 encoding=”gbk”

      3、在使用列名来访问DataFrame里面的数据时,对于中文列名,应该在列名前面加'u',表示后面跟的字符串以unicode格式存储,如下所示

      print(df[u”经度(度)”])

      (1)、header=None

      即指定原始文件数据没有列索引,这样read_csv为其自动加上列索引{从0开始}

      ceshi.csv原文件内容:

      c1,c2,c3,c4

      a,0,5,10

      b,1,6,11

      c,2,7,12

      d,3,8,13

      e,4,9,14

      df=pd.read_csv(“ceshi.csv”,header=None)

      print(df)

      结果:

          0   1   2   3

      0  c1  c2  c3  c4

      1   a   0   5  10

      2   b   1   6  11

      3   c   2   7  12

      4   d   3   8  13

      5   e   4   9  14

      (2)、header=None,并指定新的索引的名字names=seq序列

      df=pd.read_csv(“ceshi.csv”,header=None,names=range(2,6))

      print(df)

      结果:

          2   3   4   5

      0  c1  c2  c3  c4

      1   a   0   5  10

      2   b   1   6  11

      3   c   2   7  12

      4   d   3   8  13

      5   e   4   9  14

      (3)、header=None,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字

      df=pd.read_csv(“ceshi.csv”,header=0,names=range(2,4))

      print(df)

      结果:

              2   3

      c1 c2  c3  c4

      a  0    5  10

      b  1    6  11

      c  2    7  12

      d  3    8  13

      e  4    9  14

      (4)、header=0

      表示文件第0行(即第一行,索引从0开始)为列索引

      df=pd.read_csv(“ceshi.csv”,header=0)

      print(df)

      结果:

        c1  c2  c3  c4

      0  a   0   5  10

      1  b   1   6  11

      2  c   2   7  12

      3  d   3   8  13

      4  e   4   9  14

      (5)、header=0,并指定新的索引的名字names=seq序列

      df=pd.read_csv(“ceshi.csv”,header=0,names=range(2,6))

      print(df)

      结果:

         2  3  4   5

      0  a  0  5  10

      1  b  1  6  11

      2  c  2  7  12

      3  d  3  8  13

      4  e  4  9  14

      注:这里是把原csv文件的第一行换成了range(2,6)并将此作为列索引

      (6)、header=0,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字

      df=pd.read_csv(“ceshi.csv”,header=0,names=range(2,4))

      print(df)

      结果:

           2   3

      a 0  5  10

      b 1  6  11

      c 2  7  12

      d 3  8  13

      e 4  9  14

      parse_dates:

      布尔类型值 or int类型值的列表 or 列表的列表 or 字典(默认值为 FALSE)

      (1)True:尝试解析索引

      (2)由int类型值组成的列表(如[1,2,3]):作为单独数据列,分别解析原始文件中的1,2,3列

      (3)由列表组成的列表(如[[1,3]]):将1,3列合并,作为一个单列进行解析

      (4)字典(如{'foo':[1, 3]}):解析1,3列作为数据,并命名为foo

      index_col:

      int类型值,序列,FALSE(默认 None)

      将真实的某列当做index(列的数目,甚至列名)

      index_col为指定数据中那一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引。

      举例:

      df=pd.read_csv(“ceshi.csv”,index_col=0)

      print(df)

      结果:

          c2  c3  c4

      c1            

      a    0   5  10

      b    1   6  11

      c    2   7  12

      d    3   8  13

      e    4   9  14

      表示:将第一列作为索引index

      df=pd.read_csv(“ceshi.csv”,index_col=1)

      print(df)

      结果:

         c1  c3  c4

      c2           

      0   a   5  10

      1   b   6  11

      2   c   7  12

      3   d   8  13

      4   e   9  14

      表示:将第二列作为索引index

      df=pd.read_csv(“ceshi.csv”,index_col=”c1″)

      print(df)

      结果:

          c2  c3  c4

      c1            

      a    0   5  10

      b    1   6  11

      c    2   7  12

      d    3   8  13

      e    4   9  14

      表示:将列名”c1″这里一列作为索引index

      【注】:这里将”c1″这一列作为索引即行索引后,”c1″这列即不在属于列名这类,即不能使用df['c1']获取列值

      【注】:read_csv()方法中header参数和index_col参数不能混用,因为header指定列索引,index_col指定行索引,一个DataFrame对象只有一种索引

      squeeze:

      布尔值,默认FALSE

      TRUE 如果被解析的数据只有一列,那么返回Series类型。

      你需要登录,才能进行发帖操作
    • 单栏布局 帖子间隔 侧栏位置: