python处理excel实例-python处理Excel的简单示例

这篇文章主要为大家详细介绍了python处理Excel的简单示例,具有一定的参考价值,可以用来参考一下。

对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

Python中一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库复制和修改Excel文件。这三个库只支持到Excel2003。

python-excel主页地址:http://www.python-excel.org/

xlrd

地址:https://pypi.python.org/pypi/xlrd

github地址:https://github.com/python-excel/xlrd

打开excel文件,获取一个Book()对象:

# @param python处理Excel

# @author 512笔记|512pic.com

import xlrd

book = xlrd.open_workbook("myfile.xls")

# End www_512pic_com

获取sheets数目:

# @param python处理Excel

# @author 512笔记|512pic.com

>>> book.nsheets

3

# End www_512pic_com

获取sheets列表:

# @param python处理Excel

# @author 512笔记|512pic.com

>>> book.sheets()

[, , ]

# End www_512pic_com

获取sheets name列表:

# @param python处理Excel

# @author 512笔记|512pic.com

>>> book.sheet_names()

[u'Sheet1', u'Sheet2', u'Sheet3']

# End www_512pic_com

获取Book()中的Sheet:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet = book.sheets()[0] #sheets返回一个sheet列表

sheet = book.sheet_by_index(0) #通过索引顺序获取

sheet = book.sheet_by_name(u'Sheet1')#通过名称获取

# End www_512pic_com

获取行数,列数,名字:

# @param python处理Excel

# @author 512笔记|512pic.com

>>> sheet.nrows

1002

>>> sheet.ncols

11

>>> sheet.name

u'Sheet1'

# End www_512pic_com

获取某行,某行值列表,某列,某列值列表:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet.row(i)

sheet.row_values(i)

sheet.col(i)

sheet.col_values(i)

# End www_512pic_com

获取单元格的值:

# @param python处理Excel

# @author 512笔记|512pic.com

cell = sheet.cell(i,j)

cell_value = sheet.cell_value(i,j)

cell_value = sheet.cell(i,j).value

# End www_512pic_com

需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作。

xlwt

地址:http://pypi.python.org/pypi/xlwt,适用于python2.3-2.7

xlwt-future:https://pypi.python.org/pypi/xlwt-future/0.8.0,适用于Python 2.6-3.3

github地址:https://github.com/python-excel/xlwt

创建一个Excel文件并创建一个Sheet:

# @param python处理Excel

# @author 512笔记|512pic.com

from xlwt import *

book = Workbook()

sheet = book.add_sheet('Sheet1')

book.save('myExcel.xls')

# End www_512pic_com

Workbook类可以有encoding和style_compression参数。

encoding,设置字符编码,style_compression,表示是否压缩。这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。

向sheet写入内容:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet.write(r, c, label="", style=Style.default_style)

# End www_512pic_com

简单写入:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet.write(0, 0, label = 'Row 0, Column 0 Value')

# End www_512pic_com

设置格式写入:

# @param python处理Excel

# @author 512笔记|512pic.com

font = xlwt.Font() # 字体

font.name = 'Times New Roman'

font.bold = True

font.underline = True

font.italic = True

style = xlwt.XFStyle() # 创建一个格式

style.font = font # 设置格式字体

sheet.write(1, 0, label = 'Formatted value', style) # Apply the Style to the Cell

book.save('myExcel.xls')

# End www_512pic_com

写入日期:

# @param python处理Excel

# @author 512笔记|512pic.com

style = xlwt.XFStyle()

style.num_format_str = 'M/D/YY' # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0

sheet.write(0, 0, datetime.datetime.now(), style)

# End www_512pic_com

写入公式:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet.write(0, 0, 5) # Outputs 5

sheet.write(0, 1, 2) # Outputs 2

sheet.write(1, 0, xlwt.Formula('A1*B1')) # 输出 "10" (A1[5] * A2[2])

sheet.write(1, 1, xlwt.Formula('SUM(A1,B1)')) # 输出 "7" (A1[5] + A2[2])

# End www_512pic_com

写入链接:

# @param python处理Excel

# @author 512笔记|512pic.com

sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://www.google.com";"Google")')) #输出 "Google"链接到http://www.google.com

# End www_512pic_com

xlutils

地址:http://pythonhosted.org/xlutils/

github地址:https://github.com/python-excel/xlutils

xlutils.copy.copy(wb)

复制一个xlrd.Book对象,生成一个xlwt.Workbook对象,可以对xlwt.Workbook进行修改。

# @param python处理Excel

# @author 512笔记|512pic.com

from xlrd import open_workbook

from xlutils.copy import copy

book = open_workbook('myExcel.xls')

wbook = copy(book) #wbook即为xlwt.WorkBook对象

wsheet = wbook.get_sheet(0) #通过get_sheet()获取的sheet有write()方法

wsheet.write(0, 0, 'value')

wb.save('myExcel.xls')

# End www_512pic_com

注:关于python处理Excel的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:Excel

你可能感兴趣的:(python处理excel实例-python处理Excel的简单示例)