读取csv文件:pd.read_csv(),写入csv文件:pd.to_csv()
pandas还可以读取一下文件:
read_csv,
read_excel,
read_hdf,
read_sql,
read_json,
read_msgpack (experimental),
read_html,
read_gbq (experimental),
read_stata,
read_sas,
read_clipboard,
read_pickle;
相应的写入:
to_csv,
to_excel,
to_hdf,
to_sql,
to_json,
to_msgpack (experimental),
to_html,
to_gbq (experimental),
to_stata,
to_clipboard,
to_pickle.
常用参数的读取csv文件
header=None时,即指明原始文件数据没有列索引,这样read_csv为自动加上列索引,除非你给定列索引的名字。
header=0,表示文件第0行(即第一行,python,索引从0开始)为列索引,这样加names会替换原来的列索引。
index_col为指定数据中哪一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引(0-)
usecols:可以指定原数据集中,所使用的列。在本例中,共有4列,当usecols=[0,1,2,3]时,即选中所有列,之后令第一列为行索引,当usecols=[1,2,3]时,即从第二列开始,之后令原始数据集的第二列为行索引。
nrows:可以给出从原始数据集中的所读取的行数,目前只能从第一行开始到nrows行。
sep 指定分隔符 sep=’\s+’
delimiter : 定界符,备选分隔符(如果指定该参数,则sep参数失效)
squeeze : boolean, default False 如果文件值包含一列,则返回一个Series
prefix : str, default None
在没有列标题时,给列添加前缀。例如:添加‘X’ 成为 X0, X1, …
mangle_dupe_cols : boolean, default True
重复的列,将‘X’…’X’表示为‘X.0’…’X.N’。如果设定为false则会将所有重名列覆盖。
dtype : Type name or dict of column -> type, default None
每列数据的数据类型。例如 {‘a’: np.float64, ‘b’: np.int32}
converters : dict, default None
列转换函数的字典。key可以是列名或者列的序号
skipinitialspace : boolean, default False
忽略分隔符后的空白(默认为False,即不忽略)
skiprows : list-like or integer, default None
需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)
skipfooter : int, default 0
从文件尾部开始忽略。 (c引擎不支持)
skip_footer : int, default 0
不推荐使用:建议使用skipfooter ,功能一样
keep_default_na : bool, default True
如果指定na_values参数,并且keep_default_na=False,那么默认的NaN将被覆盖,否则添加。
na_filter : boolean, default True
是否检查丢失值(空字符串或者是空值)。对于大文件来说数据集中没有空值,设定na_filter=False可以提升读取速度
verbose : boolean, default False
是否打印各种解析器的输出信息,例如:“非数值列中缺失值的数量”等。
skip_blank_lines : boolean, default True
如果为True,则跳过空行;否则记为NaN。
keep_date_col : boolean, default False
如果连接多列解析日期,则保持参与连接的列。默认为False。
dayfirst : boolean, default False
DD/MM格式的日期类型
chunksize : int, default None
文件块的大小
thousands : str, default None
千分位分割符,如“,”或者“.”
decimal : str, default ‘.’
字符中的小数点 (例如:欧洲数据使用’,‘).
quotechar : str (length 1), optional
引号,用作标识开始和解释的字符,引号内的分割符将被忽略。
doublequote : boolean, default True
双引号,当单引号已经被定义,并且quoting 参数不是QUOTE_NONE的时候,使用双引号表示引号内的元素作为一个元素使用。
escapechar : str (length 1), default None
当quoting 为QUOTE_NONE时,指定一个字符使的不受分隔符限值。
error_bad_lines : boolean, default True
如果一行包含太多的列,那么默认不会返回DataFrame ,如果设置成false,那么会将改行剔除(只能在C解析器下使用)。