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,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)
参数:
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..net/u013066730/article/details/58634061