一、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