python库--pandas--文本文件读取

105 阅读4分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

  • .read_table() / read_csv()
    • filepath_or_buffer 文件路径
    • sep=’\t’ 分隔符. 设置为N, 将尝试自动确定
    • delimiter=None sep的备用参数名
    • header='infer'
      • int 用作列名称的行号
      • ints 若传入列表则表示这几行都将作为列标签
      • None 文件中不包含标题行
      • 'infer' header = 0 if name is None else None
    • names=None 作为列标签的列表
    • index_col=None
      • int 用作行标签的列
      • 序列 使用MultiIndex
      • False 强制使用第一列作为索引
    • usecols=None list_like: 要读取的列, 位置或列标签
    • squeeze=False 若果解析的数据只有一列, 则返回一个Series
    • prefix=None 在没有标题时添加到列号的前缀,例如'X'代表X0,X1,...
    • mangle_dupe_cols=True 重复的列将被指定为”X”, "X.1"...“X.N”. 传入False将导致覆盖数据
    • dtype=None 数据或每列数据类型. 例如:{'a':np.float64,'b':np.int32}
    • engine=None 选择解析器引擎. ‘c’引擎速度更快,而’python’引擎目前更加完善
    • converters=None dict {key:fun(str)}. 转换某些列中的值的函数, 键是整数或列标签
    • true_values=None list. 要考虑的值为True   ???
    • false_values=None list. 要考虑的值为False   ???
    • skipinitialspace=False 跳过分隔符后的空白符
    • skiprows=None 要跳过的行号(list)或要跳过的行数(integer)
    • nrows=None 要读取的文件的行数. 适用于读取大文件的片段
    • na_values=None 识别为NaN的字符串或字符串列表
    • keep_default_na=True True设置的na_values追加到默认识别为NaN值的列表, 否则将覆盖默认
    • na_filter=True 是否检测Na值, 在确定没有Na的数据中设置为F可提高读取大文件的性能
    • verbose=False 是否显示每一列中的NA值的数量
    • skip_blank_lines=True 如果为True, 则跳过空白行, 而不是解释为NaN值
    • parse_dates=False
      • True: 尝试将索引解析成日期
      • [位置或标签]: 尝试将这些列解析成日期
      • [[位置或标签]]: 合并这些列并尝试将其解析成日期
      • {name: [位置或标签]}: 合并指定列指定标签为name, 并尝试将其解析为日期
    • infer_datetime_format=False True: 尝试加快parse_dates解析速度
    • keep_date_col=False True: 若parse_dates解析成的日期列没有占用原数据标签, 则保留原始列
    • date_parser=None 用于将字符串转换为datetime的函数, 默认dateutil.parser.parser
    • dayfirst=False True: 识别欧洲格式日期(日-月-年), 默认将识别为(月-日-年)
    • iterator=False 生成迭代器, 通过迭代或get_chunk()获取数据块(默认全部)
    • chunksize=None int: 生成迭代器, 通过迭代或get_chunk()每次获取此参数指定大小的数据块
    • compression='infer' {'infer','gzip','bz2','zip','xz',None}  用于磁盘上数据的即时解压缩。如果“infer”,则使用gzip,bz2,zip或xz,如果filepath_or_buffer是分别以“.gz”, “.bz2”, “.zip”或“xz”结尾的字符串,否则不进行解压缩。如果使用'zip',ZIP文件必须只包含一个要读入的数据文件. 设置为无, 无解压缩
    • thousands=None str: 千位分隔符, 默认无
    • decimal='.' 可识别为小数点的字符
    • lineterminator=None str(length 1) 将文件拆分成行的字符, 只有C解释器有效
    • quotechar='"' str(length 1) 用于表示带引号项目的开始和结束的字符. 引号项可以包含分隔符, 它将被忽略
    • quoting=0 3: quotechar参数将不会生效
    • escapechar=None ???
    • comment=None str(length 1) 以此字符开头的行将被当做空白行处理
    • encoding=None 编码
    • dialect=None ???
    • tupleize_cols=F 当选择多行作为列标签时, 默认生成多级索引, 若设置为True, 则会把多个索引组成元组作为单个标签
    • error_bad_lines=True False: 异常行将被删除
    • warn_bad_lines=True error_bad_lines为False, 且此参数为True, 将会输出每一个error行的警告
    • skipfooter=0 跳过文件底部的行数(不支持engine ='c')
    • skip_footer=0 弃用, 使用skipfooter参数
    • doublequote=True 将连续多个quotechar指定的字符当做一个来识别
    • delim_whitespace=F 指定是否将空白用作分隔符, 相当于设置sep='\s+'. 若设为True, 则不应为delimiter参数传入任何内容(支持Python解释器)
    • compact_ints=False 将被删除
    • use_unsigned=False 将被删除
    • low_memory=True ???
    • buffer_lines=None 将被删除
    • memory_map=False 如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存上,并从中直接访问数据。使用此选项可以提高性能,因为不再有任何I / O开销
    • float_precision=None ???