pandas常用操作详解——数据读取函数read_csv()及导出函数to_csv()

read_csv()函数基本介绍:

 

功能:读取csv文件,构造DataFrame

pd.read_csv(filepath_or_buffer, 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, 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, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

 

常用参数详解:

filepath_or_buffer:待读取文件所在路径 
sep:指定分隔符,默认以','分隔 
header:将行号用作列名,且是数据的开头。 
      header=0表示第一行是数据而不是文件的第一行。因为当skip_blank_lines=True时,这个参数忽略注释行和空行。
      header=None,即指认为原始文件数据没有列索引,这样read_csv为其自动加上列索引{从0开始}
encoding:指定字符集类型,默认为'utf-8';当数据读入or导出时中文字符出现编码错误时,可以试试'GB18030'or'utf-8-sig' 
index_col:int类型值,序列,FALSE(默认 None) 
  将真实的某列当做index(列的数目,甚至列名) 
  index_col为指定数据中那一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引。
names:自定义列名,默认为None 

[参考解释]:https://blog.csdn.net/weixin_45459911/article/details/105507106 
[所有参数详细解释]:https://blog.csdn.net/weixin_30487317/article/details/97466088?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

举例说明:

 

#举例
data=pd.read_csv(r'C:\Users\Miles\Desktop\for-wh\line-1相同位置不同时刻\case1-1-line')

 

 

#将nodenumber作为索引
data1=pd.read_csv(r'C:\Users\Miles\Desktop\for王浩\line-1相同位置不同时刻\case1-1-line',index_col='nodenumber')

 

#header的默认值为0,即将数据第一行作为列名;header=None时,认为数据中没有列名,pandas自动设置了列名
data2=pd.read_csv(r'C:\Users\Miles\Desktop\for王浩\line-1相同位置不同时刻\case1-1-line',header=None)

 

'1.自定义列名'
#1.在read_csv中定义参数names,若原数据中无列名,需定义header=None,否则第一行数据将缺失掉
data3=pd.read_csv(r'C:\Users\Miles\Desktop\for王浩\line-1相同位置不同时刻\case1-1-line',header=None,names=['num','X','Y','air'])
#2.读取数据之后重新命名列名,只是多了一行语句
data4=pd.read_csv(r'C:\Users\Miles\Desktop\for王浩\line-1相同位置不同时刻\case1-1-line')
data4.columns=['num','X','Y','air']

 

 

 

to_csv()函数介绍:

 

功能:将处理好的数据导出至指定文件夹

#to_csv的参数同样很多,但常用的就那么两三个
.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, 
header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, 
quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=None, 
date_format=None, doublequote=True, escapechar=None, decimal='.')

 

 

常用参数解释:
path_or_buf:输出路径 
encoding:字符串的编码,python3默认为'UTF-8',要是大家发现导出中文字符出错的话,可以试试'GB-18030'or'utf-8-fig' 
index:布尔值,默认为True;当index=None时,行索引不会写入导出的文件 
float_format:字符串,默认为None;可以指定输出浮点数的格式,如'%.2f'为保留两位小数

 

result.to_csv(output_path,index=False)

 

posted @ 2021-03-29 10:55  MMMMiles  阅读(2985)  评论(0编辑  收藏  举报