Pandas对Excel的操作总结

尽管用了一段时间Pandas,今天在使用fasttext时,需要把Excel数据加上标签并放入txt文件出现了一些问题,所以总结一下。

先对函数read_excel()的参数做简单总结:

  • header : 设置读取的excel第一行是否作为列名称
  • index_col :设置读取的excel第一列是否作为行名称
  • sheet_name : 读取的excel指定的sheet页

其返回类型是一个DataFrame
DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型。在其底层是通过二维以及一维的数据块实现。

获取数据:

  • 数据进行获取可以用
df.values
df.head(n)

前者表示的是返回所有数据,后者表示返回索引n以前的所有数据

  • 对目标数据进行获取
data = df.ix[0].values
data = df.ix[[1,2]]
data = df.ix[1,2]

对目标数据获取时都是用的ix来完成定位
对于第一个表示返回第一行所有的信息,第二个表示返回1,2行所有信息,第三个表示返回第一行第二列的所有信息。
我们特别注意其返回的类型,第一返回的是numpy.ndarray,第二个都返回的是Series类型,而第三个返回的是字符串类型。
由此我们可以见,如果使用Values那么返回的是Np的数组类型,而后者返回的Series类型
两者在编码上有所区别,我们输出时会发现,转换为np数组类型后的信息变为了unicode编码,而后者还是utf-8
说到编码不得不说操作文件时,如果乱码,要使用io.open的方法并在参数选择utf-8编码。write方法写入时应用ab,wb等。a,w仅支持字符写入。

信息获取

主要是获取行列信息

df.index.values
df.columns.values

前者返回所有行,后者返回所有列

转换为List

df.tolist()

该方法也存在转码问题,常常会乱码

你可能感兴趣的:(Pandas对Excel的操作总结)