pythoncsv数据类型_python:pandas——read_csv⽅法read_csv ⽅法
返回数据类型:
DataFrame:⼆维标记数据结构
列可以是不同的数据类型,是最常⽤的pandas对象,如同Series对象⼀样接受多种输⼊:lists/dicts/Series/DataFrame。
Series:⼀维标记数组
可以存储任意数据类型:int/string/float/Python对象,创建Series⽅法例⼦:
s = Series(data, index = index)
# data可以是Python字典/ndarray/标量值
调⽤⽅式:
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='.'*, *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 :
字符串,或者任何对象的read()⽅法。这个字符串可以是URL,有效的URL⽅案包括http、ftp、s3和⽂件。可以直接写⼊"⽂件名.csv"
header :
将⾏号⽤作列名,且是数据的开头。
注意当skip_blank_lines=True时,这个参数忽略注释⾏和空⾏。所以header=0表⽰第⼀⾏是数据⽽不是⽂件的第⼀⾏。
例⼦:
import pandas as pd
ad_csv('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
Unnamed: 0 object
c1 int64
c2 int64
c3 int64
dtype: object
上述代码中ceshi.csv中的数据为:
因为csv中的数据都是⽤逗号隔开的。
,c1,c2,c3
a,0,5,10
b,1,6,11
c,2,7,12
d,3,8,13
e,4,9,14
代码将有列索引但没有⾏索引的数据,read_csv会⾃动添加上⾏索引(即使原数据有⾏索引)。read_csv读取的数据类型为Dataframe
obj.dtypes可以查看每列的数据类型
obj_ad_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为⾃动加上列索引,除⾮你给定列索引的名字。obj_ad_csv('f:/ceshi.csv',header=0,names=range(2,5))
print obj_2
2 3 4
0 0 5 10
1 1 6 11
4 4 9 14
header=0
表⽰⽂件第0⾏(即第⼀⾏,索引从0开始)为列索引,这样加names会替换原来的列索引。
parse_dates :
布尔类型值 or int类型值的列表 or 列表的列表 or 字典(默认值为 FALSE)
TRUE:则尝试解析索引
由int类型值组成的列表(例⼦ [1,2,3]):作为单独数据列,分别解析原始⽂件中的1,2,3列
由列表组成的列表(例⼦[[1,3]]):将1,3列合并,作为⼀个单列进⾏解析
字典(例⼦{‘foo’:[1, 3]}):解析1,3列作为数据,并命名为foo
index_col:
int类型值,序列,FALSE(默认 None)
将真实的某列当做index(列的数⽬,甚⾄列名)
例⼦:
obj_ad_csv('ceshi.csv',index_col=0)
python怎么读csv数据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_ad_csv('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,即不指定⾏索引,这样系统会⾃动加上⾏索引。
布尔值,默认FALSE
TRUE 如果被解析的数据只有⼀列,那么返回Series类型。
data_parser:
函数,默认None
指定将输⼊的字符串转换为可变的时间数据。Pandas默认数据读取格式:‘YYYY-MM-DD HH:MM:SS’,若读取的数据不是默认格式,则要⼈⼯定义。定义例⼦:
def parser(x):
return datetime.strptime('190'+x, '%Y-%m')
#后⾯的就是输⼊的⽂件的格式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。