Openpyxl操作Excel教程

在这篇教程中我们会想你展示如何使用Python的openpyxl库来控制Excel文件

Openpyxl

openpyxl是一个Python库,可以用来读写Excel 2010 xlsx/xlsm/xltx/xltm 文件.


Excel xlsx

在这篇教程中,我们将会处理xlsx文件.xlsx是XML电子表格文件格式的一种扩充.xlsx文件支持宏.

使用pip3安装openpyxl

$ sudo pip3 install openpyxl

创建一个新文件

在第一个 例子中,我们将会使用openpyxl创建一个新的xlsx文件

write_xlsx.py

#!/usr/bin/python3

from openpyxl import Workbook
import time

book = Workbook()
sheet = book.active

sheet['A1'] = 56
sheet['A2'] = 43

now = time.strftime("%x")
sheet['A3'] = now

book.save("sample.xlsx")

在这个例子中,我们创建了一个新的xlsx文件.我们往三个cells中写入数据

from openpyxl import Workbook

从openpyxl中引入了Workbook这个类.Workbook是这个文档所有组成部分的一个容器.

book = Workbook()

我们创建了一个新的Workbook.一个Workbook被创建的时候,至少生成一个worksheet

sheet = book.active

我们引用了激活的sheet

sheet['A1'] = 56
sheet['A2'] = 43

我们往A1和A2(cell)中写入数字

now = time.strftime("%x")
sheet['A3'] = now

我们把当前日期写入A3

book.save("sample.xlsx")

把写入的内容保存到sample.xlsx文件中,使用save()方法

New file

往cell(单元格)中写数据

有两种基本的方法可以写数据: 

和Python中的字典类似的赋值方式

sheet['A1'] = 1

调用cell()方法,指定行和列

sheet.cell(row=2, column=2).value = 2

拓展数据

使用append()方法,我们可以在当前sheet后面增加一组数据

#!/usr/bin/python3

from openpyxl import Workbook

book = Workbook()
sheet = book.active

rows = (
    (88, 46, 57),
    (89, 38, 12),
    (23, 59, 78),
    (56, 21, 98),
    (24, 18, 43),
    (34, 15, 67)
)

for row in rows:
    sheet.append(row)

book.save('appending.xlsx')

读取数据

在下面的例子中,我们会读取之前创建的sample.xlsx文件

#!/usr/bin/python3

import openpyxl

book = openpyxl.load_workbook('sample.xlsx')
# 使用load_workbook()方法打开.xlsx文件

sheet = book.active

a1 = sheet['A1']
a2 = sheet['A2']
a3 = sheet.cell(row=3, column=1)

print(a1.value)
print(a2.value) 
print(a3.value)

读取多个单元格(cell)

#!/usr/bin/python3

import openpyxl

book = openpyxl.load_workbook('items.xlsx')

sheet = book.active

cells = sheet['A1': 'B6']

for c1, c2 in cells:
    print("{0:8} {1:8}".format(c1.value, c2.value))

翻译部分截取自:http://zetcode.com/articles/openpyxl/原文

note:

原文可以说的好教程的范例.一步一步的操作,加上每一步之后的详细解说,对小白友好.

我认为的好教程就看两点: 

1.具有可操作性(能保证只要按照教程一步一步走就能得到想要的结果) 

2.操作步骤后有解释说明,不仅让读者知道应该这么做,而且为什么要这么做.

猜你喜欢

转载自blog.csdn.net/tmsshikun/article/details/80615184