python 3 操作 excel
看到一篇很好的python读写excel方式的对比文章: 用Python读写Excel文件
关于其他版本的excel,可以通过他提供的链接教程进行学习。
XlsxWriter:
https://github.com/jmcnamara/XlsxWriter
http://xlsxwriter.readthedocs.org
openpyxl: http://openpyxl.readthedocs.io/en/default/
Microsoft excel API:https://msdn.microsoft.com/en-us/library/fp179694.aspx
简介
xlrd用来读取excel文件,xlwt用来写excel文件,它们合作来对excel进行操作。
官方文档:http://www.python-excel.org/
xlrd官方介绍:https://pypi.python.org/pypi/xlrd/1.0.0
xlwt官方介绍:https://pypi.python.org/pypi/xlwt/1.1.2
xlutils官方介绍:https://pypi.python.org/pypi/xlutils
http://xlutils.readthedocs.io/en/latest/
1. 关于xlrd:
Library for developers to extract data from Microsoft Excel (tm) spreadsheet files Extract data from Excel spreadsheets (.xls and .xlsx, versions 2.0 onwards) on any platform. Pure Python (2.6, 2.7, 3.2+). Strong support for Excel dates. Unicode-aware.
翻译过来总结就是:
xlrd 可以在任意平台上读取的excel为: .xls以及 .xlsx 。
xlrd支持和的python版本是: 2.6,2.7 , 3.2+。
2. 关于xlwt:
Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.6, 2.6, 3.3+
This is a library for developers to use to generate spreadsheet files compatible with Microsoft Excel versions 95 to 2003.
翻译过来总结就是:
xlwt支持的excel版本是: Microsoft excel版本 95---2003,也就是 xls文件。
xlwt支持的python版本是:2.6 , 3.3+.
3. 关于xlutils:
This package provides a collection of utilities for working with Excel files. Since these utilities may require either or both of the xlrd and xlwt packages, they are collected together here, separate from either package. Currently available are: xlutils.copy
Tools for copying xlrd.Book objects to xlwt.Workbook objects.
xlutils.display
Utility functions for displaying information about xlrd-related objects in a user-friendly and safe fashion.
xlutils.filter
A mini framework for splitting and filtering Excel files into new Excel files.
xlutils.margins
Tools for finding how much of an Excel file contains useful data.
xlutils.save
Tools for serializing xlrd.Book objects back to Excel files.
xlutils.styles
Tools for working with formatting information expressed in styles.
翻译过来总结就是:
如果需要在 xlrd以及 xlwt之间进行交互的话,比如拷贝 xlrd 到 xlwt 需要用到xlutils。
目前提供了 copy、display、filter、margins、Save、styles几个函数。
安装 xlrd 和 xlwt
pip install xlrd
pip install xlwt
pip install xlutils
pip list xlrd (1.0.0)
xlutils (2.0.0)
xlwt (1.1.2)
使用
1. 新建一个excel文件(xlwt)
#coding='utf-8' import xlwt
from datetime import datetime def set_style(font_name,font_height,bold=False):
style=xlwt.XFStyle() font=xlwt.Font()
font.name=font_name # 'Times New Roman'
font.height=font_height
font.bold=bold
font.colour_index=4 borders=xlwt.Borders()
borders.left=6
borders.right=6
borders.top=6
borders.bottom=6 style.font=font
style.borders=borders
return style def write_to_excel_xlwt():
'''Write content to a new excel'''
new_workbook=xlwt.Workbook()
new_sheet=new_workbook.add_sheet("SheetName_test")
new_sheet.write(0,0,"hello")
#write cell with style
new_sheet.write(0,1,"world",set_style("Times New Roman", 220, True)) style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on',num_format_str='#,##0.00')
style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
new_sheet.write(1, 0, 1234.56, style0)
new_sheet.write(1, 1, datetime.now(), style1) #write cell with formula
new_sheet.write(2,0,5)
new_sheet.write(2,1,8)
new_sheet.write(3,0, xlwt.Formula("A3+B3")) new_workbook.save(r"NewCreateWorkbook.xls") #if change to xlsx,then open failed if __name__=="__main__":
write_to_excel_xlwt()
代码执行之后,在当前路径下生成excel文件 “NewCreateWorkbook.xls”。内容如下 :

2. 读取excel文件(xlrd)
#coding='utf-8' import xlrd def read_excel_xlrd():
'''Read Excel with xlrd'''
#file
TC_workbook=xlrd.open_workbook(r"NewCreateWorkbook.xls") #sheet
all_sheets_list=TC_workbook.sheet_names()
print("All sheets name in File:",all_sheets_list) first_sheet=TC_workbook.sheet_by_index(0)
print("First sheet Name:",first_sheet.name)
print("First sheet Rows:",first_sheet.nrows)
print("First sheet Cols:",first_sheet.ncols) second_sheet=TC_workbook.sheet_by_name("SheetName_test")
print("Second sheet Rows:",second_sheet.nrows)
print("Second sheet Cols:",second_sheet.ncols) first_row=first_sheet.row_values(0)
print("First row:",first_row)
first_col=first_sheet.col_values(0)
print("First Column:",first_col) # cell
cell_value=first_sheet.cell(1,0).value
print("The 1th method to get Cell value of row 2 & col 1:",cell_value)
cell_value2=first_sheet.row(1)[0].value
print("The 2th method to get Cell value of row 2 & col 1:",cell_value2)
cell_value3=first_sheet.col(0)[1].value
print("The 3th method to get Cell value of row 2 & col 1:",cell_value3) if __name__=="__main__":
read_excel_xlrd()
运行之后,控制台输出如下 :
All sheets name in File: ['SheetName_test']
First sheet Name: SheetName_test
First sheet Rows: 4
First sheet Cols: 2
Second sheet Rows: 4
Second sheet Cols: 2
First row: ['hello', 'world']
First Column: ['hello', 1234.56, 5.0, '']
The 1th method to get Cell value of row 2 & col 1: 1234.56
The 2th method to get Cell value of row 2 & col 1: 1234.56
The 3th method to get Cell value of row 2 & col 1: 1234.56
3. 向已经存在的excel写入(xlrd&xlwt&xlutils)
#coding='utf-8' import xlrd
import xlwt
from xlutils.copy import copy def write_to_existed_file():
'''Write content to existed excel file with xlrd&xlutils&xlwt'''
rb = xlrd.open_workbook(r"NewCreateWorkbook.xls",formatting_info=True) wb = copy(rb)
ws = wb.get_sheet(0) font=xlwt.Font()
font.name="Times New Roman"
font.height=220
font.bold=False borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 2 cell_style = xlwt.XFStyle()
cell_style.font = font
cell_style.borders = borders
cell_style.pattern = pattern ws.write(6,7,"hello world",cell_style)
wb.save(r"NewCreateWorkbook.xls") if __name__=="__main__":
write_to_existed_file()
运行之后,excel文件内容如下:

python 3 操作 excel的更多相关文章
- Python读写操作Excel模块_xlrd_xlwt_xlutils
Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...
- Python“文件操作”Excel篇(上)
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
- Python Pandas操作Excel
Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
- Python之操作Excel、异常处理、网络编程
知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) ...
- Python - 常规操作Excel - 第二十六天
前言 作为一名资深程序员,通过代码熟练操作Excel是必不可少的技能,本章主要讲解Python通过openpyxl第三方库(官方文件说明)对Excel进行操作,使Excel程序化操作更为简单快捷. o ...
- python中操作excel数据
python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...
- python简单操作excel
python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...
- python openpyxl 操作 excel
初识与安装 Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 安装 ...
随机推荐
- 手机定位原理 - GPS/GLONASS/北斗 + WIFI + 基站
卫星定位系统 - GPS/GLONASS/北斗: 关于GPS.GLONASS.北斗.伽利略系统的科普请自行谷歌. GPS是使用最广泛的全球定位网络,几乎是所有智能手机的标配.进几年,俄罗斯的GLONA ...
- HDU1878欧拉回路
这道题WA了好多次.测试数据感觉有点问题-- 并查集啊,必须有. #include<stdio.h> #include<string.h> int ad[1003]; int ...
- 朋友的礼物(英雄会,csdn,高校俱乐部)信封问题,匹配模型
前言: 首先这是一题解,但是重点最代码之后,有耐心的可以直接从代码后看. 上题目:n个人,每个人都有一件礼物想送给他人,他们决定把礼物混在一起,然后每个人随机拿走一件,问恰好有m个人拿到的礼物恰好是自 ...
- hdu 1018 Big Number (数学题)
Problem Description Inmany applications very large integers numbers are required. Some of theseappli ...
- Centos安装编译环境
众所周知,在安装完Centos完了以后,是没有编译环境的,我自己挂上光盘,手动安装解决了几十的依赖关系,在配置些软件时,还是经常报些依赖软件包的缺失,很是头疼,后来百度了下centos需要装的编译环境 ...
- MySQL简单优化
1:对 MySQL 优化是一个综合性的技术,主要包括: a.标的设计合理(符合 3NF) b.添加适当索引(index)(普通索引.主键索引.唯一索引 unique.全文索引) ...
- Linux Kernel Makefile Test
一.本文说明 本文为linux内核Makefile整体分析的续篇,是依据Linux内核Makefile体系的主要内容编写一个简要的测试工程.Linux内核Makefile体系就好像一只“大鸟”,而这篇 ...
- chrome:// 的秘密!!一些有用的命令!
chrome:// .......命令 集结 Chrome 有很多的特性在界面菜单中是没有体现的,可以通过 chrome:// 命令来访问 我搜集了下面这些!!!当然也是在网上找的!有的我自己也不知道 ...
- jq总结1
选择器 /** * 多目标选择器 * 可以选择多个元素或者表达式, * 包装成 jQuery 对象的集合 * 例子:$("div,span") */ $("table t ...
- liveReload
依赖条件: 1.安装liveReload浏览器插件: http://livereload.com/extensions/ chrome可以直接去在线商店安装liveReload. P.S.也可以贴代码 ...