# header=0,表示文件第0行为列索引 # index_col=0,表示文件第0列为行索引 userTable=pd.read_csv('./data/preprefe_%s.csv'%str(i),header=0,index_col=0)
import pandas as pd obj=pd.read_csv('f:/ceshi.csv') print obj print type(obj) print obj.dtypes
Unnamed: 0 c1 c2 c3 0 a 0 5 10 1 b 1 6 11 2 c 2 7 12 3 d 3 8 13 4 e 4 9 14 <class 'pandas.core.frame.DataFrame'> Unnamed: 0 object c1 int64 c2 int64 c3 int64 dtype: object
ceshi.csv为有列索引没有行索引的数据,read_csv会自动加上行索引,即便原数据集有行索引。
read_csv读取的数据类型为Dataframe,obj.dtypes能够查看每列的数据类型python
obj_2=pd.read_csv('f:/ceshi.csv',header=None,names=range(2,5)) print obj_2
2 3 4 0 c1 c2 c3 1 0 5 10 2 1 6 11 3 2 7 12 4 3 8 13 5 4 9 14
header=None时,即指明原始文件数据没有列索引,这样read_csv为自动加上列索引,除非你给定列索引的名字。spa
obj_2=pd.read_csv('f:/ceshi.csv',header=0,names=range(2,5)) print obj_2
2 3 4 0 0 5 10 1 1 6 11 2 2 7 12 3 3 8 13 4 4 9 14
header=0,表示文件第0行(即第一行,python,索引从0开始)为列索引,这样加names会替换原来的列索引。.net
obj_2=pd.read_csv('f:/ceshi.csv',index_col=0) print obj_2
c1 c2 c3 a 0 5 10 b 1 6 11 c 2 7 12 d 3 8 13 e 4 9 14
obj_2=pd.read_csv('f:/ceshi.csv',index_col=[0,2]) print obj_2
c1 c3 c2 a 5 0 10 b 6 1 11 c 7 2 12 d 8 3 13 e 9 4 14
index_col为指定数据中那一列做为Dataframe的行索引,也能够可指定多列,造成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引(0-)code
obj_2=pd.read_csv('f:/ceshi.csv',index_col=0,usecols=[0,1,2,3]) print obj_2
c1 c2 c3 a 0 5 10 b 1 6 11 c 2 7 12 d 3 8 13 e 4 9 14
obj_2=pd.read_csv('f:/ceshi.csv',index_col=0,usecols=[1,2,3]) print obj_2
c2 c3 c1 0 5 10 1 6 11 2 7 12 3 8 13 4 9 14
usecols:能够指定原数据集中,所使用的列。在本例中,共有4列,当usecols=[0,1,2,3]时,即选中全部列,以后令第一列为行索引,当usecols=[1,2,3]时,即从第二列开始,以后令原始数据集的第二列为行索引。blog
obj_2=pd.read_csv('f:/ceshi.csv',index_col=0,nrows=3) print obj_2
c1 c2 c3 a 0 5 10 b 1 6 11 c 2 7 12
nrows:能够给出从原始数据集中的所读取的行数,目前只能从第一行开始到nrows行。索引