python数据分析-pandas-读取文件
文章目录
- python数据分析-pandas-读取文件
-
- csv文件读取
- excel文件读取
- json文件读取
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_buffer:字符串或路径对象
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 表示数据的第一行,不是文件的第一行。还可以是数字的列表。下面三个图体会下不同参数的差别。
![python数据分析-pandas-读取文件_第1张图片](http://img.e-com-net.com/image/info8/8a4d12c1249c450eb2653ce147d4f617.jpg)
![python数据分析-pandas-读取文件_第2张图片](http://img.e-com-net.com/image/info8/e3cbf9410eb14259b591c14c5e0e4490.jpg)
![python数据分析-pandas-读取文件_第3张图片](http://img.e-com-net.com/image/info8/3327a2d2ab5e4a72b354b85bc5270773.jpg)
- names:array-like, optional
如果想更改名称,可通过传入表头的列表,但如果已经存在表头,需要指定header=0。
![python数据分析-pandas-读取文件_第4张图片](http://img.e-com-net.com/image/info8/ba146333009249bb93fa79583f73bfe1.jpg)
- index_col:int, str, sequence of int / str, or False, default None
False代表不让列成为索引,0代表让数据第一列为索引。
![python数据分析-pandas-读取文件_第5张图片](http://img.e-com-net.com/image/info8/79e34a9d04624a2e8f635a7b55c38ae7.jpg)
- usecols:list-like or callable, optional
选择要用的列,可以是数字[0,1,2],也可以是列名[a,c,b],不指定则代表解析所有列。
![python数据分析-pandas-读取文件_第6张图片](http://img.e-com-net.com/image/info8/e1be86391dcc40acaca63f8612e333d9.jpg)
- 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 将导致数据被覆盖。
![python数据分析-pandas-读取文件_第7张图片](http://img.e-com-net.com/image/info8/dab2514435294fe599d23040a9abd4bc.jpg)
- 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。
![python数据分析-pandas-读取文件_第8张图片](http://img.e-com-net.com/image/info8/c1d30da110f6461588bbf069957049da.jpg)
![python数据分析-pandas-读取文件_第9张图片](http://img.e-com-net.com/image/info8/82569364e7f94301ae84c0ded3a95ab8.jpg)
![python数据分析-pandas-读取文件_第10张图片](http://img.e-com-net.com/image/info8/decd5302fa174941816879ff25d30066.jpg)
- 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’
![python数据分析-pandas-读取文件_第11张图片](http://img.e-com-net.com/image/info8/a8dead6ecf85469fb84f407fc684a7b3.jpg)
- 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’.
![python数据分析-pandas-读取文件_第12张图片](http://img.e-com-net.com/image/info8/5a89c87c38714873a38f51025c9f53e5.jpg)
![python数据分析-pandas-读取文件_第13张图片](http://img.e-com-net.com/image/info8/afd60166c3ab47c7a3acef4a2e946f29.jpg)
![python数据分析-pandas-读取文件_第14张图片](http://img.e-com-net.com/image/info8/dc17ffb3c74b4ca4b6eaee821ebfc07f.jpg)