Python 笔记一之 excel 的读取
本文首发于公众号:Hunter 后端
原文链接:Python笔记一之excel的读取
这里我常用的 python 对于 excel 的读取库有两个,一个是 xlsxwriter 用于操作 excel 的写入,一个是 xlrd 用于 excel 文件的读取。
使用的库的版本如下:
xlsx==1.2.6
xlrd==1.1.0
xlsxwriter 写入 excel
新建一个 excel
添加一个 sheet:
sheet 表格数据的写入 sheet 的表格数据有几种方式,一种是通过 x, y 这种坐标轴定位的方式,从左上角开始,左上角也就是 'A1' 的位子为 (0, 0)。
比如我们想要在左上角写入数据:
如果我们想要在第二行,第三列写入数据:
另一种是通过 excel 的单元格名称来定位写入,比如 'A1','D4'这种:
批量写入除了单个单元格的数据写入,我们还可以通过某个起始单元格来批量写入。
批量写入可以从横向写入,也可以从纵向写入。
比如如果想要从 C2 单元格开始,横向写入 python,java,JS 三条数据,可以如下操作:
也可以通过 i, j 的定位方式来操作,比如从 "C3" 开始往后写入:
上面的 write_row() 方法是横向写入,从起始位置横向开始写,如果是纵向,那就使用 write_column()
保存然后将这个 excel 保存:
xlrd 读取 excel
注意: 安装 xlrd 的时候不要安装默认的版本,当前默认的最新版本不能解析 xlsx 文件,我这里选择的是 xlrd==1.0.0
使用 xlrd 从 excel 中读取数据的操作方式如下:
获取 excel
获取 sheet
获取 sheet 对象列表:
获取所有的 sheet 的名称列表:
根据索引获取单个 sheet:
获取单元格数据如果直接获取单元格数据,可以通过坐标轴的 x, y 的方式来定位获取,其中左上角是 (0, 0)。
比如我们想获取 (0, 0) 位子的数据,也就是 'A1' 的单元格,我们可以:
获取到的是这个单元格对象,如果想要获取其中的值,需要对 cell 对象再取值:
也可以直接使用取值的方法:
获取行列数据
上面是通过单元格单个获取数据,我们可以单独获取行和列的数据,比如获取第二行的单元格:
上面获取到的数据是一个对象列表,每个元素都是一个个的单元格 cell,也就是我们上面通过 cell() 函数获取到的对象。
如果是想直接取值,则可以:
返回的是一个列表,元素是该行单元的 value 值
查看该行长度:
获取 sheet 的总行数:
根据列获取数据将函数的 row 换成 col 即可,比如获取第二列的数据:
版权声明: 本文为 InfoQ 作者【Hunter熊】的原创文章。
原文链接:【http://xie.infoq.cn/article/dd04a5cbae8d597823c2ee3b9】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论