在这篇教程中我们会想你展示如何使用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()方法
往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.操作步骤后有解释说明,不仅让读者知道应该这么做,而且为什么要这么做.