常用的数据存储介质是数据库和csv文件,pandas模块包含了相应的API对数据进行输入和输出:
- 对于格式化的平面文件:read_table()
- 对于csv文件:read_csv()、to_csv()
- 对于SQL查询:read_sql、to_sql()
一,平面文件
把按照界定符分割的格式化文件读取到DataFrame中,使用read_table()函数来实现:
pandas.read_table(
filepath_or_buffer: Union[str, pathlib.Path], sep='\t', 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=b'.',
lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None,
encoding=None, float_precision=None, ...)
重要参数注释:
- filepath_or_buffer :str,文件的路径
- sep:str,默认值是'\t',用于分割数据列的界定符。如果分隔符大于一个字符,那么sep参数将会被解释为正则表达式。
- delimiter:str、默认值是None,是sep的别名
- header:int,默认值是infer(推断),表示列名所在的数据行的行号。默认值是推断列名,如果names参数是None,那么推荐header=0,把文件的第一行作为列名;如果显式传递names参数,那么推荐header=None。
- names:array-like,可选,列名的列表,默认值是None。如果文件不包含标题(header)行,应该显式设置header=None,并在names参数中传递数据列。
- index_col :int,str,用于表示作为DataFrame的行标签的列号或列名,如果设置为False,表示强制DataFrame不把第一列作为索引。
- usecols :list-like,返回列的子集
- squeeze :bool,默认值是False,如果解析的数据只包含一列,那么把数据框转换为Series
- prefix:str,如果没有标题,在列号前面添加的前缀
- mangle_dupe_cols:bool,默认值是True,重复的列名X将会被命名为‘X’, ‘X.1’,