Pandas之文件的讀取和寫出


讀與寫

 


      pandas是基於NumPy的一種數據分析工具,在數據分析的任務中,我們首先需要對數據進行清洗和編輯等工作,pandas庫大大簡化了我們的工作量。

 

•pandas進行數據讀取

1 #絕對路徑查詢
2 import os 
1 print(os.path.abspath("."))
/Users/yaozhilin
1 #導入pandas和numpy庫
2 import pandas as pd
3 import numpy as np

 

1 from pandas import Series,DataFrame 

 

 

 

讀取常用的數據方法

~pd.read_csv   讀取csv文件

~pd.read_table   讀取txt文件

~pd.read_excel   讀取xls文件

其實這三種讀取方式都一致,我們以pd.read_excel為例

 

pd.read_excel(filepath,encoding,sep,header,names,usecols,index_col,skiprows,nrows……)
filepath:文件存儲路徑,可以用r""進行非轉義限定,路徑最好是純英文(文件名也是),不然會經常碰到編碼不對的問題,最方便是直接將文件存儲在pandas默認的路徑下,則直接輸入文件名即可
encoding:pandas默認編碼是utf-8,如果同樣讀取默認uft-8的txt或者json格式,則可以忽略這個參數,如果是csv,且數據中有中文時,則要指定encoding=‘gbk’
sep:指定分割符形式,CSV默認逗號分割,可以忽略這個參數,如果是其它分割方式,則要填寫
header: 指定第一行是否是列名,通常有三種用法,忽略或header=0(表示數據第一行為列名),header=None(表明數據沒有列名),常與names搭配使用
names: 指定列名,通常用一個字符串列表表示,當header=0時,用names可以替換掉第數據中的第一行作為列名,如果header=None,用names可以增加一行作為列名,如果沒有header參數時,用names會增加一行作為列名,原數據的第一行仍然保留
usecols:一個字符串列表,可以指定讀取的列名
index_col: 一個字符串列表,指定哪幾列作為索引
skiprows: 跳過多少行再讀取數據,通常是數據不太干凈,需要去除掉表頭才會用到
nrows: 僅讀取多少行,后面的處理也都僅限於讀取的這些行

 

以上參數並不都會用到,僅供參考,下面我們簡單的讀取一個文件:

 

1 test=pd.read_excel("/Users/yaozhilin/Downloads/數據.xls",sep="t")
2 test.head(5)#顯示前五行

 

columns重命名rename 

1 test.rename(columns={"聯系人姓名":"姓名","聯系人頭銜":"職位"},inplace=True)
2 test.head(5) 

 

 

 

•pandas進行數據寫出

寫入常用的數據方法

~data.to_csv   寫出csv文件

~data.to_table   寫出txt文件

~data.to_excel   寫出xls文件

data.to_excel (path_or_buf=None, sep=’, ’, columns=None, header=True, index=True, mode=‘w’, encoding=None)
path_or_buf :文件路徑
sep :分隔符,默認用","隔開
columns :選擇需要的列索引
header :boolean or list of string, default True,是否寫進列索引值
index:是否寫進行索引
mode:‘w’:重寫, ‘a’ 追加


寫出一個文件

1 test.to_excel("/Users/yaozhilin/Downloads/數據寫出.xls", encoding='gbk')

 

我們嘗試的讀取一下,看看是否寫出成功。

1 pd.read_excel("/Users/yaozhilin/Downloads/數據寫出.xls", encoding='gbk',nrows=5)#只讀5行

 

 

 

 

我們在讀寫文件時常常需要注意encoding="gbk"(中文防止亂碼)和分隔符sep=" "。

 

 

 

附:常用的讀寫參考表

 


免責聲明!

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



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