Python电子表格用户指南


Excel是最著名的电子表格软件,几乎每个电脑用户都习惯于通过电子表格管理数据。最终,一些Python程序必须与Excel进行交互。许多Python库可用于创建、读取和写入Excel文件。我们将在下面看到一些重要库的示例。

使用openpyxl

此库可以读取/写入Excel 2010 xlsx/xlsm/xltx/xltm文件。在下面的示例中,我们创建一个Excel工作表,将其数据分配给单元格,最后将文件保存到所需位置。该模块具有许多内置方法,可用于此目的。我们将在下面看到这些方法的使用。

示例

#openpyxl
from openpyxl import Workbook
Spreadsheet = Workbook()

# grab the active worksheet
worksheet = Spreadsheet.active

# Data can be assigned directly to cells
worksheet['A1'] = 50

# Rows can also be appended
worksheet.append([5, 15, 25, 35, 45, 55])
worksheet.append([9, 19, 29, 39, 49, 59])

# Python types will automatically be converted
import datetime
t1 = datetime.datetime.now()
worksheet['A1'] = t1.year
worksheet['A2'] = t1

# Save the file
Spreadsheet.save("E:\openpyxl.xlsx")

输出

运行以上代码将得到以下结果:

使用xlwt

这是一个库,开发人员可以使用它来生成与Microsoft Excel 95到2003版本兼容的电子表格文件。我们不仅可以将值写入单元格,还可以格式化值。值可以设置为粗体、彩色、斜体等。还可以控制字体大小。在下面的示例中,我们对写入的数字进行格式化,并使其为蓝色。

示例

import xlwt
from datetime import datetime

Spreadsheet = xlwt.Workbook()
worksheet = Spreadsheet.add_sheet('Newsheet1')

format1 = xlwt.easyxf('font: name Times New Roman, color-index blue, bold on', num_format_str='#,##0.00')
format2 = xlwt.easyxf(num_format_str='D-MMM-YY')

worksheet.write(0, 0, datetime.now(), format2)
worksheet.write(0, 1, datetime.now().strftime("%B"),format2)
worksheet.write(0, 2, datetime.now().strftime("%A"),format2)
worksheet.write(1, 0, 5369.2, format1)
worksheet.write(1, 1, 1926.5,format1)
worksheet.write(1, 2, 4896.2,format1)
worksheet.write(2, 0, 5)
worksheet.write(2, 1, 10)
worksheet.write(2, 2, xlwt.Formula("A3+B3"))
Spreadsheet.save('E:\xlwt_spreadsheet.xls')

输出

运行以上代码将得到以下结果:

使用xlsxwriter

此模块可以创建2007版本的Excel文件。它比上述创建Excel文件的模块具有更多功能。它可以将文本、数字、公式和超链接写入多个工作表。在下面的示例中,我们不仅对工作表中的文本进行格式化,还向工作表添加图像。

示例

import xlsxwriter
Spreadsheet = xlsxwriter.Workbook('E:\xlsxw_spreadsheet.xlsx')
sheet = Spreadsheet.add_worksheet()
sheet.set_column('A:A', 18)

# Add a bold format to use to highlight cells.
bold = Spreadsheet.add_format({'bold': True})

#simple text.
sheet.write('A1','Freelancer',bold)
sheet.write('A2', 'Work')
sheet.write('A3', 100)
sheet.write('A4', 1000)

sheet.write('B1', 'DECIMAL', bold)
sheet.write('B2', 17.1)
sheet.write('B3', 29.6)
sheet.write('B4', 45.9)

sheet.write('C1', 'POSITIVE',bold)
sheet.write('C2', 69)
sheet.write('C3', 53)
sheet.write('C4', 36)

sheet.write('D1','NEGATIVE',bold)
sheet.write('D2', -89)
sheet.write('D3', -26)
sheet.write('D4', -15)

# Insert an image.
sheet.insert_image('E5', 'E:\firefox.JPG')
Spreadsheet.close()

输出

运行以上代码将得到以下结果:

更新于:2020年2月4日

浏览量:181

启动您的职业生涯

完成课程获得认证

开始学习
广告