Excel là bảng tính nổi tiếng nhất và hầu như mọi người dùng máy tính đều cảm thấy thoải mái với ý tưởng quản lý dữ liệu thông qua bảng tính. Cuối cùng, một số chương trình python phải tương tác với excel. Nhiều thư viện python có sẵn để tạo, đọc và ghi vào tệp excel. Chúng ta sẽ xem các ví dụ về một vài thư viện quan trọng như vậy bên dưới.
Sử dụng openpyxl
Thư viện này có thể đọc / ghi các tệp Excel 2010 xlsx / xlsm / xltx / xltm. Trong ví dụ dưới đây, chúng tôi tạo một trang tính excel, gán dữ liệu cho các ô của nó và cuối cùng lưu tệp vào vị trí mong muốn. Mô-đun có nhiều phương thức tích hợp có thể được sử dụng cho việc này. Chúng tôi thấy những phương pháp được sử dụng bên dưới.
Ví dụ
#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")
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Sử dụng xlwt
Đây là thư viện dành cho các nhà phát triển sử dụng để tạo các tệp bảng tính tương thích với Microsoft Excel phiên bản 95 đến 2003. Chúng tôi không chỉ có thể ghi giá trị vào ô mà còn có thể định dạng giá trị. Các giá trị có thể được in đậm, tô màu, in nghiêng, v.v. Ngoài ra, kích thước phông chữ có thể được kiểm soát. Trong ví dụ dưới đây, chúng tôi định dạng các số được viết và làm cho chúng có màu xanh lam.
Ví dụ
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')
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Sử dụng xlsxwriter
Mô-đun này có thể tạo tệp excel của phiên bản 2007. Nó có số lượng tính năng rộng hơn nhiều so với mô-đun tạo tệp excel ở trên. Nó có thể viết văn bản, số, công thức và siêu liên kết đến nhiều trang tính. Trong ví dụ dưới đây, chúng tôi không chỉ thực hiện định dạng văn bản trong trang tính mà còn thêm hình ảnh vào trang tính.
Ví dụ
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()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -