Python对Excel的操作

Posted 空林~~清风~~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python对Excel的操作相关的知识,希望对你有一定的参考价值。

Python几个读取Excel库的介绍:

xlwings

可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻松应对 Excel 数据处理工作。

openpyxl

简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点,缺点是对 VBA 支持的不够好。

pandas

数据处理是 pandas 的立身之本,Excel 作为 pandas 输入/输出数据的容器。

win32com

从命名上就可以看出,这是一个处理 windows 应用的扩展,Excel 只是该库能实现的一小部分功能。该库还支持 office 的众多操作。需要注意的是,该库不单独存在,可通过安装 pypiwin32 或者 pywin32 获取。

xlsxwriter

拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与openpyxl相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始。

DataNitro

作为插件内嵌到 Excel 中,可完全替代 VBA,在 Excel 中使用 python 脚本。既然被称为 Excel 中的 python,协同其他 python 库亦是小事一桩。然而,这是付费插件...

xlutils

基于 xlrd/xlwt,老牌 python 包,算是该领域的先驱,功能特点中规中矩,比较大的缺点是仅支持 xls 文件。

安装
pip install xlutils

读取

import xlrd


workbook = xlrd.open_workbook(r‘C:Users	hinkpadDesktopdd.xlsx‘)#打开excel文件

print(‘number:‘,workbook.nsheets)#有几张表
print(‘name:‘,workbook.sheet_names())#[‘Sheet1‘, ‘Sheet2‘, ‘Sheet3‘]

worksheet=workbook.sheet_by_index(0)#取第一张表
print(‘table %s 共%s 行 %s列‘ %(worksheet.name,worksheet.nrows,worksheet.ncols))#table Sheet1 共4 行 2列
print(‘第2行第1列:‘,worksheet.cell_value(1,0))#第2行第1列: 马云

for s in workbook.sheets():
    for r in range(s.nrows):
        print(s.row(r))#[text:‘马云‘, number:52.0]

写入

import xlwt

wb = xlwt.Workbook()#创建一个excel文件

sh = wb.add_sheet(‘a test sheet‘)#创建一张表

sh.write(0,0,‘武松‘)#第1行第1列写入武松
sh.write(1,0,‘鲁智深‘)
sh.write(2,0,‘林冲‘)

wb.save(‘example.xls‘)#保存

修改

from xlutils.copy import copy
from xlrd import open_workbook

rb = open_workbook(‘example.xls‘)

wb = copy(rb)#拷贝一份

s = wb.get_sheet(0)

s.write(0,1,‘new data‘)

wb.save(‘example.xls‘)#保存

以上是关于Python对Excel的操作的主要内容,如果未能解决你的问题,请参考以下文章

Python—对Excel进行读写操作

Python操作Excel之数据提取

python对Excel表格操作

python学习笔记(十三)-python对Excel进行读写修改操作

使用While循环导出Excel

python对excel表格数据进行分类处理!!!(图文并茂详细版!!!)