码迷,mamicode.com
首页 > 编程语言 > 详细

Python对Excel的操作

时间:2018-09-05 21:45:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:window   单元格   读取excel   输出   print   thinkpad   功能   修改   tab   

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\thinkpad\Desktop\dd.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的操作

标签:window   单元格   读取excel   输出   print   thinkpad   功能   修改   tab   

原文地址:https://www.cnblogs.com/konglinqingfeng/p/9594202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!