打开excel文件,用pandas库中的read打开程序如下:
filename = 'E:\CAUC\data\energy.xlsx'
data = pd.read_excel(filename, index_col=u'日期')
index_col
是索引,就是按照某一列索引,它的强大功能我先没有发现,先举个小栗子的把,比如你按日期索引,你向画出各列,那么日期就是横坐标(即x轴)。u‘
’是输入中文之前必须要加的符号。没有索引也是可以的。
注:用pandas读入的后,第一行是被索引的,就是像是标签一样的东西。主要用来被索引。
用pandas打开的excel格式是DataFrame格式的,想要把他改成nparray格式,只需执行以下语句
data = np.array(data)
DataFrame格式的数据,提取行列,提取行
data =
data[1:23] #1:23就是要提取的行
提取某列
ele_data =
data[[u'电力(折算吨标煤)']]
#提取列的时候用标签提取,就是第一行的内容,如果有中文字符要用 u‘ ’
若想提取多列,就把中间加“,”把要提取的都写上
以上方法提取行列返回都是DataFrame格式
这是我觉得目前来说比较好用的方法。还有就是直接用包打开,但是感觉不怎么好使。。。
打开TXT文件,第一种和打开excel的方法一样,只需将pd.read_excel换为datatxt =
pd.read_table
还有一种方法不需要用pandas但是比较麻烦。方法如下
fr = open('chongqing.txt')
numrow = len(fr.readline())
mat = np.zeros((numrow,24))
fr = open('chongqing.txt')
index = 0
for line in fr.readlines():
line =
line.strip()
listline =
line.split('\t')
mat[index,:]
= listline
index
+=1
以上方法是先打开这个txt,然后用len()函数计算这个txt的行数,建立一个nparray格式行数与txt一样的空矩阵,然后再用循环把内容放进去。其实我也不太理解这个方法的精髓。。。