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()輸出
執行以上程式碼將得到以下結果:
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP