python数据分析-pandas-读取文件
csv文件读取
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: str = '.' , 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 )
filepath_or_buffe r:字符串或路径对象 Valid URL schemes include http, ftp, s3, and file.sep :str, default ‘,’ 分隔符,默认是逗号delimiter:sep的别名,也是分隔符 header :int, list of int, default ‘infer’ 数据的表头,如果没有传入该值,则默认header=0,并推断数据的第一行为表头,header=0 表示数据的第一行,不是文件的第一行。还可以是数字的列表。下面三个图体会下不同参数的差别。 names :array-like, optional 如果想更改名称,可通过传入表头的列表,但如果已经存在表头,需要指定header=0。 index_col:int, str, sequence of int / str, or False, default None False代表不让列成为索引,0代表让数据第一列为索引。 usecols:list-like or callable, optional 选择要用的列,可以是数字[0,1,2],也可以是列名[a,c,b],不指定则代表解析所有列。 squeeze:bool, default False 如果解析的数据只包含一列,则返回一个系列。 prefix:str, optional 前缀,没有header的时候,比如x0,x1,x2. mangle_dupe_cols:bool, default True 重复的列将被指定为“X”、“X.1”、……“X.N”,而不是“X”……“X”。如果列中存在重复名称, 设为False 将导致数据被覆盖。 dtype : Type name or dict of column -> type, optional 指定某列的数据类型,{‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’}engine:{‘c’, ‘python’}, optional 要使用的解析器引擎。C 引擎更快,而 python 引擎目前功能更完整。 converters:dict, optional nrows :int, optional 只读取文件的前几行,文件太大的时候使用。na_values:scalar, str, list-like, or dict, optional 设定哪些值为空值,默认以下将被识别为空值,‘’, ‘#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‘ na_filter:bool, default True 在没有任何 NA 的数据中,传递 na_filter=False 可以提高读取大文件的性能。 skip_blank_lines:bool, default True 设置为true则跳过空行。 parse_dates:bool or list of int or names or list of lists or dict, default False 日期解析,list of int or names. e.g. If [1, 2, 3] ,将这几列解析为日期格式,list of lists. e.g. If [[1, 3]] ,将这两列结合为一列日期,dict, e.g. {‘foo’ : [1, 3]},合并1和3列,并命名为foo。 keep_date_col:bool, default False 设置为true,那么当parse_dates结合多个字段的时候,会保留原字段。 compression:{‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}, default ‘infer’ 压缩,用于磁盘数据的即时解压缩,默认下,则从以下扩展名检测压缩:‘.gz’、‘.bz2’、‘.zip’ 或 ‘.xz’(否则不解压缩)。如果使用“zip”,则 ZIP 文件必须只包含一个要读入的数据文件。设置为 None 表示不解压缩。 comment: str, optional 设定注释行的标识,比如设定 comment=‘#’,如果某一行是以#开头,则会被忽略。 encoding :str, optional 指定编码,比如’utf-8’。
excel文件读取
pandas. read_excel( io, sheet_name= 0 , header= 0 , names= None , index_col= None , usecols= None ,
squeeze= False , dtype= None , engine= None , converters= None , true_values= None , false_values= None ,
skiprows= None , nrows= None , na_values= None , keep_default_na= True , verbose= False , parse_dates= False ,
date_parser= None , thousands= None , comment= None , skipfooter= 0 , convert_float= True ,
mangle_dupe_cols= True , ** kwds)
io:路径 sheet_name:str, int, list, or None, default 0 None会拿到所有sheet;默认是0,第一页,1为第二页;‘sheet名称’;[0, 1, “Sheet5”],前两页和Sheet5这一页。 其他参数都与csv重复。
json文件读取
pandas. read_json( path_or_buf= None , orient= None , typ= 'frame' , dtype= None ,
convert_axes= None , convert_dates= True , keep_default_dates= True , numpy= False ,
precise_float= False , date_unit= None , encoding= None , lines= False , chunksize= None ,
compression= 'infer' )
path_or_buf:a valid JSON str, path object or file-like object json串,或者路径,Valid URL schemes include http, ftp, s3, and file. typ:{‘frame’, ‘series’}, default ‘frame’ 设置解析成的对象类型。frame就是解析为dataframe,series就是解析为series格式。 orient:str 如果typ == ‘series’ ,allowed orients are {‘split’,‘records’,‘index’},default is ‘index’; 如果typ == ‘frame’, allowed orients are {‘split’,‘records’,‘index’, ‘columns’,‘values’, ‘table’},default is ‘columns’ dtype:bool or dict, default None 指定数据格式。 convert_dates:bool or list of str, default True 如果列名类似日期,则转为日期,it ends with ‘_at’,it ends with ‘_time’,it begins with ‘timestamp’,it is ‘modified’, or it is ‘date’.