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()
输出
运行以上代码将得到以下结果:
广告