四时宝库

程序员的知识宝库

pandas库和numpy库读取本地文件

一、pandas库读取本地文件

1.read_table方法

pandas库中的read_table方法可以读取txt文本文件和csv表格文件,其api如下:

pd.read_table('file',sep='',header=none,names=none,index_col=none)

上书是主要参数,其中参数file是本地文件的路径,参数sep表示文件数据的分割方法,\t表示空格,‘,’表示分隔符为逗号,参数header表示数据的列名,默认为第一行,参数names表示自己设定列名,参数index_col表示数据的标签是那一列,默认为没有

其运行结果如下:

修改一下参数

其运行结果如下:

读取csv文件是参数一样,只不过sep参数为逗号

运行结果如下:

2.read_csv方法

pandas库中有专门处理csv文件的函数read_csv,该函数与read_table十分类似,同时也可以处理txt文件,这里不再赘述

二、numpy库读取本地文件

numpy提供了函数用于读取逻辑上可以被解释为二维数组的文本文件

形如:

aa,aa,aa,aa

bb,bb,bb,bb

aa:aa:aa:aa

bb:bb:bb:bb

等等

numpy.loadtxt()函数可以读取该类型的文件并获取ndarray对象

其api如下:

np.loadtxt('file',delimiter='',usecols=(),umpack=False,dtype='',converters={})

其中参数file是本地文件路径名,参数delimiter是每行数据的分隔符,可以是逗号也可以是空格等等,参数usecols表示读取哪些列,参数unpack表示是否进行拆包,不拆包就返回一个大的二维数组

zhxf.csv文件数据如下:


读取文件zhxf的3、4列,并进行拆包,用两个变量接收

其运行结果如下:

不进行拆包,结果就是一个两列的二维数组

其运行结果如下:

如果现在我们想读取时间列,则需要用到dtype参数,给每列数据定个格式,不然会报错

其运行结果如下:

如果想画图的时候在坐标轴上表示时间,则需要把时间数据转换成M8[D],U10是字符串,坐标轴只能显示数,而M8[D]是精确到天的日期数据类型,但是转换成M8[D]类型的时间格式必须是年-月-日,zhxf中的时间格式是年/月/日,因此我们需要用到参数converters,将第一列先转换成年-月-日格式,在转换成M8[D],这其中就需要用到转换器函数dmy2ymd(日月年to年月日)

这个转换器函数可以用我们之前学的时间日期模块来完成

其运行结果如下:

END

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接