Python pandas.read_csv()函式
1、首先,介紹csv格式的檔案:
CSV檔案是一個純文字檔案,最早用在簡單的資料庫裡,其格式簡單,具備很強的開放性,非常容易被匯入各種PC表格及資料庫,比如Excel表格等。
CSV檔案中每行相當於一條記錄(相當於資料表中的一行),用 “,”(半形逗號)分割每行的不同欄位。舉例如下:
例:
1, 23, 32,12
2, 44, 12, 56
對應Excel表格,CSV檔案中的一行對應Excel的一行,CSV同一行中的半形逗號相當於Excel表格同一行分割不同單元格的豎線。
2、介紹pandas.read_csv()函式。
官方呼叫形式介紹:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
pandas.
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,
引數:
filepath_or_buffer:str,pathlib。str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)
檔案路徑或資料快取地址。
sep:str, default ‘,’
指定分隔符。如果不指定引數,預設使用逗號分隔。如果分隔符長於一個字元並且不是‘\s+’,將使用python的語法分析器,並忽略資料中的逗號。正則表示式例子:'\r\t'。
delimiter: str, default None
定界符,備選分隔符(如果指定該引數,則sep引數失效)。
header:int or list of ints, default ‘infer’
指定行數用來作為列名,資料開始行數。如果檔案中沒有列名,則預設為0,否則設定為None。如果明確設定header=0 就會替換掉原來存在列名。header引數可以是一個list例如:[0,1,3],這個list表示將檔案中的這些行作為列標題(意味著每一列有多個標題),介於中間的行將被忽略掉(例如本例中的2;本例中的資料1,2,4行將被作為多級標題出現,第3行資料將被丟棄,dataframe的資料從第5行開始。)。注意:如果skip_blank_lines=True 那麼header引數忽略註釋行和空行,所以header=0表示第一行資料而不是檔案的第一行。
names : array-like, default None 用於結果的列名列表,如果資料檔案中沒有列標題行,就需要執行header=None。預設列表中不能出現重複,除非設定引數mangle_dupe_cols=True。 index_col : int or sequence or False, default None 用作行索引的列編號或者列名,如果給定一個序列則有多個行索引。 如果檔案不規則,行尾有分隔符,則可以設定index_col=False 來是的pandas不適用第一列作為行索引。 usecols : array-like, default None 返回一個數據子集,該列表中的值必須可以對應到檔案中的位置(數字可以對應到指定的列)或者是字元傳為檔案中的列名。例如:usecols有效引數可能是 [0,1,2]或者是 [‘foo’, ‘bar’, ‘baz’]。使用這個引數可以加快載入速度並降低記憶體消耗。 舉例如下: import pandas as pd header = ['user_id', 'item_id', 'rating', 'timestamp']
df = pd.read_csv("D:/u.data",sep = '\t',names = header)
參考連結:http://blog.csdn.net/u013066730/article/details/58634061