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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM