900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 使用python处理wps表格_教你如何用Python轻轻松松操作Excel Word CSV 一文就够了

使用python处理wps表格_教你如何用Python轻轻松松操作Excel Word CSV 一文就够了

时间:2018-07-28 04:54:30

相关推荐

使用python处理wps表格_教你如何用Python轻轻松松操作Excel Word CSV 一文就够了

原标题:教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!

来自:掘金,作者:奈何缘浅wyj

Python 操作 Excel

常用工具

数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件。因此用 Python 进行数据处理时,很容易会和 Excel 打起交道。得益于前人的辛勤劳作,Python 处理 Excel 已有很多现成的轮子,比如xlrd & xlwt & xlutils、XlsxWriter、OpenPyXL,而在 Windows 平台上可以直接调用 Microsoft Excel 的开放接口,这些都是比较常用的工具,还有其他一些优秀的工具这里就不一一介绍,接下来我们通过一个表格展示各工具之间的特点:

类型

xlrd&xlwt&xlutils

XlsxWriter

OpenPyXL

Excel开放接口

读取

支持

不支持

支持

支持

写入

支持

支持

支持

支持

修改

支持

不支持

支持

支持

xls

支持

不支持

不支持

支持

xlsx

高版本

支持

支持

支持

大文件

不支持

支持

支持

不支持

效率

超慢

功能

较弱

强大

一般

超强大

以上可以根据需求不同,选择合适的工具,现在为大家主要介绍下最常用的 xlrd & xlwt & xlutils 系列工具的使用。

xlrd & xlwt & xlutils 介绍

xlrd&xlwt&xlutils 是由以下三个库组成:

xlrd:用于读取 Excel 文件;

xlwt:用于写入 Excel 文件;

xlutils:用于操作 Excel 文件的实用工具,比如复制、分割、筛选等;

安装库

安装比较简单,直接用 pip 工具安装三个库即可,安装命令如下:

$ pip install xlrd xlwt xlutils

写入 Excel

接下来我们就从写入 Excel 开始,话不多说直接看代码如下:

# 导入 xlwt 库

import xlwt

# 创建 xls 文件对象

wb = xlwt.Workbook

# 新增两个表单页

sh1 = wb.add_sheet( 成绩)

sh2 = wb.add_sheet( 汇总)

# 然后按照位置来添加数据,第一个参数是行,第二个参数是列

# 写入第一个sheet

sh1.write(0, 0, 姓名)

sh1.write(0, 1, 专业)

sh1.write(0, 2, 科目)

sh1.write(0, 3, 成绩)

sh1.write(1, 0, 张三)

sh1.write(1, 1, 信息与通信工程)

sh1.write(1, 2, 数值分析)

sh1.write(1, 3, 88)

sh1.write(2, 0, 李四)

sh1.write(2, 1, 物联网工程)

sh1.write(2, 2, 数字信号处理分析)

sh1.write(2, 3, 95)

sh1.write(3, 0, 王华)

sh1.write(3, 1, 电子与通信工程)

sh1.write(3, 2, 模糊数学)

sh1.write(3, 3, 90)

# 写入第二个sheet

sh2.write(0, 0, 总分)

sh2.write(1, 0, 273)

# 最后保存文件即可

wb.save( est.xls)

运行代码,结果会看到生成名为 test.xls 的 Excel 文件,打开文件查看如下图所示:

以上就是写入 Excel 的代码,是不是很简单,下面我们再来看下读取 Excel 该如何操作。

读取 Excel

读取 Excel 其实也不难,请看如下代码:

# 导入 xlrd 库

import xlrd

# 打开刚才我们写入的 test_w.xls 文件

wb = xlrd.open_workbook( "test_w.xls")

# 获取并打印 sheet 数量

print( "sheet 数量:", wb.nsheets)

# 获取并打印 sheet 名称

print( "sheet 名称:", wb.sheet_names)

# 根据 sheet 索引获取内容

sh1 = wb.sheet_by_index(0)

# 或者

# 也可根据 sheet 名称获取内容

# sh = wb.sheet_by_name(成绩)

# 获取并打印该 sheet 行数和列数

print( u "sheet %s 共 %d 行 %d 列"% (sh1.name, sh1.nrows, sh1.ncols))

# 获取并打印某个单元格的值

print( "第一行第二列的值为:", sh1.cell_value(0, 1))

# 获取整行或整列的值

rows = sh1.row_values(0) # 获取第一行内容

cols = sh1.col_values(1) # 获取第二列内容

# 打印获取的行列值

print( "第一行的值为:", rows)

print( "第二列的值为:", cols)

# 获取单元格内容的数据类型

print( "第二行第一列的值类型为:", sh1.cell(1, 0).ctype)

# 遍历所有表单内容

forsh inwb.sheets:

forr inrange(sh.nrows):

# 输出指定行

print( sh.row(r))

输出如下结果:

细心的朋友可能注意到,这里我们可以获取到 单元格的类型,上面我们读取类型时获取的是数字1,那1表示什么类型,又都有什么类型呢?别急下面我们通过一个表格展示下:

数值

类型

说明

0

empty

使用python处理wps表格_教你如何用Python轻轻松松操作Excel Word CSV 一文就够了 赶紧码住!!!...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。