Pythonxlsxwriter教程展示了如何使用Python使用xlsxwriter编写Excelxlsx文件。
xlsx编写器
xlsxwriter是一个Python库,用于编写Excel2007+XLSX文件格式的文件。
Excelxlsx
在本教程中,我们使用xlsx文件。xlsx是MicrosoftExcel使用的开放式XML电子表格文件格式的文件扩展名。xlsm文件支持宏。xls格式是专有的二进制格式,而xlsx是基于OfficeOpenXML格式。
$ pip install xlsxwriter
我们使用pip工具安装xlsxwriter。
Pythonxlsxwriter第一个例子
以下程序创建一个简单的Excel文件。
#!/usr/bin/python
import xlsxwriter
wb = xlsxwriter.Workbook('first.xlsx')
ws = wb.add_worksheet()
ws.write('A1', 'misty mountains')
ws.write(2, 0, 123)
wb.close()
在示例中,我们将数据写入两个单元格。
import xlsxwriter
我们导入模块。
wb = xlsxwriter.Workbook('first.xlsx')
创建了一个新的工作簿。工作簿是文档所有其他部分的容器。参数为Excel文件名。
ws = wb.add_worksheet()
我们使用add_worksheet添加一个新的工作表。
ws.write('A1', 'misty mountains')
ws.write(2, 0, 123)
我们写入两个单元格。有两种识别细胞的基本方法。Excel键A1表示工作表左上角的单元格。在第二种情况下,前两个参数是单元格的行和列。索引从零开始。
wb.close()
最后,我们关闭文件。
Pythonwrite_xlsx写入数据
有多种方法可以将数据写入工作表。
#!/usr/bin/python
from datetime import datetime
import xlsxwriter
import datetime
wb = xlsxwriter.Workbook('writing.xlsx')
ws = wb.add_worksheet()
ws.set_column('A:A', 25)
ws.write_string('A1', 'misty mountains')
ws.write_number(1, 0, 123)
ws.write_url('A3', 'http://webcode.me')
df = wb.add_format({'num_format': 'dd/mm/yy'})
ws.write_datetime('A4', datetime.datetime.now(), df)
ital = wb.add_format({'italic': True})
bold = wb.add_format({'bold': True})
cent = wb.add_format({'align': 'center'})
ws.write_rich_string('A5', bold, 'an old falcon ',
ital, 'wild river', cent)
ws.write_boolean('A6', True)
wb.close()
在示例中,我们编写了一个数字、一个字符串、一个URL、一个日期时间、一个丰富的字符串和一个布尔值。
ws.set_column('A:A', 25)
我们用set_column扩大了第一列。宽度以字符为单位设置。
ws.write_string('A1', 'misty mountains')
ws.write_number(1, 0, 123)
用write_string写一个字符串;用write_number写一个数字。
ws.write_url('A3', 'http://webcode.me')
一个URL是用write_url写的。
df = wb.add_format({'num_format': 'dd/mm/yy'})
ws.write_datetime('A4', datetime.datetime.now(), df)
日期时间用write_datetime写入。我们还指定了日期时间格式。
ital = wb.add_format({'italic': True})
bold = wb.add_format({'bold': True})
cent = wb.add_format({'align': 'center'})
ws.write_rich_string('A5', bold, 'an old falcon ',
ital, 'wild river', cent)
使用add_format,我们创建了三个格式单元。使用write_rich_string编写丰富的字符串。一种格式应用于相邻的文本。最后一种格式(在我们的例子中是分)应用于整个文本。
ws.write_boolean('A6', True)
最后用write_boolean写入一个boolean值。
Pythonxlsxwriterwrite_row&write_column
要写入一列数据,我们使用write_column方法。要写入一行数据,我们使用write_row方法。
#!/usr/bin/python
import xlsxwriter
wb = xlsxwriter.Workbook('rows_cols.xlsx')
ws = wb.add_worksheet()
vals = [12, 14, 25, 29, 19, 35]
ws.write_column('A1', vals)
ws.write_row(8, 0, vals)
wb.close()
我们有一个整数列表。我们将这些整数写在单列和单行中。
将数据存储在字典中很常见。
#!/usr/bin/python
import xlsxwriter
wb = xlsxwriter.Workbook('dics.xlsx')
ws = wb.add_worksheet()
sales = {'Product A': [104, 411, 122, 345], 'Product B': [
807, 913, 932, 567], 'Product C': [89, 91, 82, 88]}
cn = 0
for k, v in sales.items():
ws.write(0, cn, k)
ws.write_column(1, cn, v)
cn += 1
wb.close()
在示例中,我们将存储在字典中的数据写入。
sales = {'Product A': [104, 411, 122, 345], 'Product B': [
807, 913, 932, 567], 'Product C': [89, 91, 82, 88]}
我们在Python字典中有三种产品的销售情况。
cn = 0
for k, v in sales.items():
ws.write(0, cn, k)
ws.write_column(1, cn, v)
cn += 1
我们检查字典并在单个列中打印每个字典项目,将键作为标题,将值作为列数据。
Pythonxlsxwriter合并范围
merge_range函数合并一系列单元格。它的参数是左上角和右下角单元格的行和列,要写入的数据,以及可选的单元格格式。
#!/usr/bin/python
import xlsxwriter
wb = xlsxwriter.Workbook('merging.xlsx')
ws = wb.add_worksheet()
mf = wb.add_format({'align': 'center', 'valign': 'vcenter'})
ws.merge_range(1, 1, 2, 2, 'an old falcon', mf)
ws.merge_range('E5:G6', 'misty mountains', mf)
wb.close()
在示例中,我们合并了两组单元格。
Pythonxlsxwriter插入图像
使用insert_image方法将图像插入工作表。
#!/usr/bin/python
import xlsxwriter
wb = xlsxwriter.Workbook('image.xlsx')
ws = wb.add_worksheet()
ws.write('A1', 'Sid, the sloth')
ws.insert_image('A3', 'sid.jpg')
wb.close()
该示例将JPEG图像插入单元格。
Pythonxlsxwriterwrite_formula
公式是用write_formula写的。请注意,工作表必须重新计算才能工作。
#!/usr/bin/python
import xlsxwriter
vals = [12, 32, 12, 4, 99, 78]
wb = xlsxwriter.Workbook('formula.xlsx')
ws = wb.add_worksheet()
for idx, e in enumerate(vals):
ws.write_number(idx, 0, e)
ws.write_formula(7, 0, '=SUM(A1:A6)')
wb.close()
该示例将SUM公式写入一个单元格,该单元格计算A列的值的总和。
在本教程中,我们使用了xlsxwriter库。我们已经使用xlsxwriter创建了一些基本的Excel文件。
访问Python教程或列出所有Python教程。
