python read_csv函数_Python pandas.read_csv()函数
1、首先,介紹csv格式的文件:
CSV文件是一個純文本文件,最早用在簡單的數(shù)據(jù)庫里,其格式簡單,具備很強的開放性,非常容易被導(dǎo)入各種PC表格及數(shù)據(jù)庫,比如Excel表格等。
CSV文件中每行相當(dāng)于一條記錄(相當(dāng)于數(shù)據(jù)表中的一行),用 “,”(半角逗號)分割每行的不同字段。舉例如下:
例:
1, 23, 32,12
2, 44, 12, 56
對應(yīng)Excel表格,CSV文件中的一行對應(yīng)Excel的一行,CSV同一行中的半角逗號相當(dāng)于Excel表格同一行分割不同單元格的豎線。
2、介紹pandas.read_csv()函數(shù)。
官方調(diào)用形式介紹: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,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=False,error_bad_lines=True,warn_bad_lines=True,skipfooter=0,skip_footer=0,doublequote=True,delim_whitespace=False,as_recarray=False,compact_ints=False,use_unsigned=False,low_memory=True,buffer_lines=None,memory_map=False,float_precision=None)
參數(shù):
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)
文件路徑或數(shù)據(jù)緩存地址。
sep:str,
default ‘,’
指定分隔符。如果不指定參數(shù),默認使用逗號分隔。如果分隔符長于一個字符并且不是‘\s+’,將使用python的語法分析器,并忽略數(shù)據(jù)中的逗號。正則表達式例子:'\r\t'。
delimiter:str,
default?None
定界符,備選分隔符(如果指定該參數(shù),則sep參數(shù)失效)。
header:int
or list of ints, default ‘infer’
指定行數(shù)用來作為列名,數(shù)據(jù)開始行數(shù)。如果文件中沒有列名,則默認為0,否則設(shè)置為None。如果明確設(shè)定header=0 就會替換掉原來存在列名。header參數(shù)可以是一個list例如:[0,1,3],這個list表示將文件中的這些行作為列標題(意味著每一列有多個標題),介于中間的行將被忽略掉(例如本例中的2;本例中的數(shù)據(jù)1,2,4行將被作為多級標題出現(xiàn),第3行數(shù)據(jù)將被丟棄,dataframe的數(shù)據(jù)從第5行開始。)。注意:如果skip_blank_lines=True
那么header參數(shù)忽略注釋行和空行,所以header=0表示第一行數(shù)據(jù)而不是文件的第一行。
names?: array-like, default None
用于結(jié)果的列名列表,如果數(shù)據(jù)文件中沒有列標題行,就需要執(zhí)行header=None。默認列表中不能出現(xiàn)重復(fù),除非設(shè)定參數(shù)mangle_dupe_cols=True。
index_col?: int or sequence or False, default None
用作行索引的列編號或者列名,如果給定一個序列則有多個行索引。
如果文件不規(guī)則,行尾有分隔符,則可以設(shè)定index_col=False 來是的pandas不適用第一列作為行索引。
usecols?: array-like, default None
返回一個數(shù)據(jù)子集,該列表中的值必須可以對應(yīng)到文件中的位置(數(shù)字可以對應(yīng)到指定的列)或者是字符傳為文件中的列名。例如:usecols有效參數(shù)可能是 [0,1,2]或者是 [‘foo’, ‘bar’, ‘baz’]。使用這個參數(shù)可以加快加載速度并降低內(nèi)存消耗。
舉例如下:
import pandas as pd
header = ['user_id', 'item_id', 'rating', 'timestamp']
df = pd.read_csv("D:/u.data",sep = '\t',names = header)
參考鏈接:http://blog..net/u013066730/article/details/58634061
總結(jié)
以上是生活随笔為你收集整理的python read_csv函数_Python pandas.read_csv()函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赶鸭子问题
- 下一篇: 常用编码与为何要encode和decod