Xlwings tạo trang tính mới

Các giá trị có thể được chọn từ một trang tính Excel bằng cách chỉ định một ô, hàng, cột hoặc vùng. Không nên chọn toàn bộ hàng hoặc cột vì toàn bộ hàng hoặc cột trong Excel khá dài, do đó sẽ dẫn đến một danh sách dài theo sau Không có. Chọn một dải dữ liệu 2D sẽ dẫn đến một danh sách các danh sách dữ liệu.  

ví dụ 2

Python3




 6

 7

import xlwings as xw

 

# Import required library1

# Python program to7

pip install xlwings
1
pip install xlwings
2# Import required library5_______179_______6# Import required library7# access Excel files1

 

import0

import1

import2_______0_______1 # access Excel files7# access Excel files8# Python program to2# Python program to02 1

pip install xlwings
1
pip install xlwings
68# Python program to06
pip install xlwings
70# Python program to08
pip install xlwings
70# Python program to10# access Excel files1

>>> new_sheet. chỉ số 4. phiên bản đã thêm. 0. 2. 3 """ xl_workbook = Sổ làm việc. get_xl_workbook(wkb) nếu trước là Không và sau là Không. sau = Trang tính (Trang tính. đếm(wkb=wkb), wkb=wkb) elif trước. trước = Trang tính (trước, wkb=wkb) elif sau. after = Sheet(after, wkb=wkb) if name. nếu tên. hạ() trong [i. Tên. Lower() cho tôi trong Trang tính. tất cả(wkb=wkb)]. nâng cao Ngoại lệ ('Tên trang tính đó đã được sử dụng. ') khác. xl_sheet = nền tảng xl. add_sheet(xl_workbook, trước, sau) xlplatform. set_worksheet_name(xl_sheet, name) return cls(name, wkb) other. xl_sheet = nền tảng xl. add_sheet(xl_workbook, trước, sau) return cls(xlplatform. get_worksheet_name(xl_sheet), wkb)

Excel rất, rất phổ biến trong các doanh nghiệp ngày nay. Tại Dataquest, chúng tôi thường khuyên bạn nên làm việc với mã vì nhiều lý do và nhiều khóa học về khoa học dữ liệu của chúng tôi nhằm mục đích dạy viết mã hiệu quả để phân tích dữ liệu và khoa học dữ liệu. Nhưng cho dù bạn thích làm việc với Python đến mức nào, thì cuối cùng, đôi khi bạn vẫn cần phải trình bày những phát hiện của mình hoặc chia sẻ dữ liệu của mình bằng Excel

Nhưng điều đó không có nghĩa là vẫn không thể tận hưởng một số hiệu quả của Python. Trên thực tế, bằng cách sử dụng thư viện có tên


print(xw.apps[0].books[0] == wb)
1, bạn có thể sử dụng Python để làm việc trong Excel nhanh hơn

Trong hướng dẫn xlwings này, chúng ta sẽ hướng dẫn cách sử dụng Python trong Excel để thực thi và sử dụng một số thao tác phổ biến như xóa các hàng dựa trên các tiêu chí nhất định, sử dụng các hàm và công thức Excel, tự động điền, tạo trang tính, biểu đồ, v.v. Để theo dõi bài đăng này, bạn nên làm quen với các khái niệm Python cơ bản (đối tượng, phương thức, thuộc tính, hàm) và cú pháp của Python và có kiến ​​thức trung cấp về Excel và VBA

Chúng tôi sẽ làm việc với một bộ dữ liệu chứa thông tin liên quan đến các đợt rút thăm xổ số châu Âu có tên là EuroMillions. Tập dữ liệu này đã được tải xuống từ liên kết này và nó chứa tất cả các kỳ rút thăm EuroMillions tính đến ngày 20 tháng 9 và bao gồm cả. Dữ liệu có sẵn tại liên kết đó phải được cập nhật với thông tin mới nhất cho đến khi bạn đọc bài đăng này, nhưng trong trường hợp không có sẵn, đây là tệp CSV có dữ liệu từ liên kết đó kể từ ngày 20 tháng 9

Euromillions là xổ số đa quốc gia có sẵn ở một số quốc gia châu Âu, cụ thể là ở Andorra, Áo, Bỉ, Pháp (bao gồm các khu vực và cộng đồng hải ngoại), Ireland, Isle of Man, Liechtenstein, Luxembourg, Monaco, Bồ Đào Nha, Tây Ban Nha, Thụy Sĩ và Vương quốc Anh

Theo văn bản này, kết quả xổ số bao gồm năm số từ nhóm 50 số (được đánh số từ 1 đến 50) và hai số được gọi là


print(xw.apps[0].books[0] == wb)
2 từ nhóm 12 số. Để giành được giải độc đắc, người tham gia phải chọn chính xác tất cả các số đã quay và ngôi sao may mắn. Giải độc đắc lớn nhất từng trúng là 190 triệu euro. (Tuy nhiên, xin lưu ý rằng bộ dữ liệu của chúng tôi tính tiền thắng cược bằng Bảng Anh, không phải Euro)

Trong hướng dẫn này, chúng ta sẽ sử dụng Python và xlwings với Excel để dọn sạch tập dữ liệu, sau đó tạo một số biểu đồ để trực quan hóa những con số giành được EuroMillions thường xuyên nhất


import pandas as pd
import xlwings as xw
df = pd.read_csv('euromillions.csv')
df.sample(5)

Không. DayDDMMMYYYYN1N2N3N4N5L1L2JackpotWins627514Fri24Aug20126519371273377090471230911Tue14Jun20161350423934119119280000998143Fri3Nov2006131144244993883440990107170Fri10Jun20053732477671217346990522619Tue27Aug201374038433062129315000

Cột đầu tiên là số quay thưởng, cột


print(xw.apps[0].books[0] == wb)
3 là số quay thưởng và ngôi sao may mắn (theo thứ tự rút thăm), cột

print(xw.apps[0].books[0] == wb)
4 là giải độc đắc tính bằng Euro và cột

print(xw.apps[0].books[0] == wb)
5 cho chúng tôi biết có bao nhiêu cược trúng giải độc đắc

Gặp gỡ print(xw.apps[0].books[0] == wb) 1


print(xw.apps[0].books[0] == wb)
1 là một thư viện Python cung cấp một số tính năng phân tích dữ liệu của Python trong một phiên bản Excel, bao gồm hỗ trợ cho mảng

print(xw.apps[0].books[0] == wb)
8 và Sê-ri

print(xw.apps[0].books[0] == wb)
9 và Khung dữ liệu. Giống như bất kỳ thư viện Python nào khác, nó có thể được cài đặt bằng các phương thức phổ biến như

True
0 hoặc

True
1, nhưng bạn có thể truy cập tài liệu về

print(xw.apps[0].books[0] == wb)
1 tại đây nếu cần thêm chi tiết

Lưu ý rằng bạn sẽ cần cài đặt phiên bản Microsoft Excel trên máy tính mà bạn đang sử dụng để thực hiện hướng dẫn xlwings này


print(xw.apps[0].books[0] == wb)
1 đối tượng

Trong


print(xw.apps[0].books[0] == wb)
1 có bốn loại đối tượng chính, theo thứ tự phân cấp giảm dần.

True
5 (đại diện cho một phiên bản Excel),

True
6,

True
7 và

True
8. Ngoài những thứ này, chúng ta cũng sẽ xử lý các đối tượng

True
9 và

print(wb.sheets)
0. Bạn có thể tìm thấy thông tin hữu ích về những đối tượng này và các đối tượng khác trong , nhưng chúng ta sẽ xem xét từng đối tượng một

Hãy bắt đầu bằng cách tạo một thể hiện


True
6 và đặt tên cho nó là

print(wb.sheets)
2 (sổ bài tập)


wb = xw.Book() # wb = xw.Book(filename) would open an existing file

Khi bạn chạy mã đó, nó sẽ giống như thế này

Xlwings tạo trang tính mới

Lưu ý rằng khi ô mã được chạy trong Jupyter Notebook, Excel sẽ tự động khởi chạy

Bằng cách khởi tạo một đối tượng


True
6, một đối tượng

True
5 thuộc về đối tượng sách của chúng ta sẽ được tạo tự động. Đây là cách chúng tôi có thể kiểm tra tất cả các phiên bản Excel đã mở

Ghi chú. chúng tôi sẽ không bao gồm gifs cho mỗi bước của hướng dẫn này, bởi vì chúng tôi không muốn tải trang này trở nên rắc rối đối với những người có kết nối internet chậm hoặc hạn chế. Tuy nhiên, các bước chạy mã tiếp theo sẽ trông tương tự như những gì chúng ta có thể thấy ở trên. khi chúng tôi chạy một ô trong Jupyter, bảng tính Excel được cập nhật theo bất kỳ mã nào chúng tôi đã chạy


print(xw.apps)

Apps([])

Đối tượng


print(wb.sheets)
5 là một đối tượng có thể lặp lại. Để kiểm tra sổ làm việc nào thuộc về các thể hiện duy nhất trong lần lặp này, chúng ta có thể gọi phương thức

print(wb.sheets)
6 trên đó như vậy


print(xw.apps[0].books)

Books([])

Như mong đợi, ví dụ duy nhất của iterable này là sổ làm việc


print(wb.sheets)
2. Chúng tôi kiểm tra thực tế này dưới đây


print(xw.apps[0].books[0] == wb)

True

Tương tự, chúng ta có thể kiểm tra xem sheet nào thuộc workbook này


print(wb.sheets)

Sheets([])

Chúng tôi cũng có thể tham khảo các trang tính theo tên của họ


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
0____17_______

Các đối tượng


True
7 có thuộc tính

print(wb.sheets)
9 hoạt động như mong đợi. Hãy để chúng tôi thay đổi tên của tờ duy nhất của chúng tôi


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
2

Chúng ta có thể di chuyển dữ liệu từ các đối tượng Python nhất định (e. g. danh sách và bộ dữ liệu) vào Excel. Hãy di chuyển dữ liệu trong khung dữ liệu của chúng tôi vào trang tính EuroMillions. Để làm điều này, chúng tôi sẽ sử dụng


Sheets([])
0 để tạo một đối tượng phạm vi lưu trữ dữ liệu từ DataFrame của chúng tôi trong một phạm vi ô trong Excel, bắt đầu trong trường hợp này là ô A1


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
3

Đây là giao diện của nó

Xlwings tạo trang tính mới

Như chúng ta có thể thấy, cột chỉ mục của


Sheets([])
1 cũng đã được chuyển sang Excel. Hãy xóa nội dung của trang tính này và sao chép dữ liệu mà không có chỉ mục


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
4

Sẽ rất hữu ích khi có thể biết bảng của chúng ta kết thúc ở đâu. Cụ thể hơn, chúng tôi sẽ cần hàng cuối cùng có dữ liệu trong đó. Để làm được điều này, chúng ta có thể sử dụng phương thức


Sheets([])
2 và thuộc tính

Sheets([])
3 của đối tượng

True
8

Phương thức


Sheets([])
3, không ngạc nhiên, trả về

Sheets([])
3 của đối tượng

True
8

Phương thức


Sheets([])
2 lấy một hướng làm đối số (

Sheets([])
9 (or

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
00),

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
01 (or

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
02),

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
03 (or

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
04,

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
05 (or

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
06)) và trả về một đối tượng phạm vi khác. Nó bắt chước hành động rất phổ biến trong Excel CTRL+Shift+Mũi tên


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
5

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
6

Nó kiểm tra ra

Thuộc tính API

Không phải mọi chức năng của Excel đều khả dụng dưới dạng tính năng


print(xw.apps[0].books[0] == wb)
1 gốc. Đôi khi chúng ta sẽ phải tìm cách giải quyết để làm những gì chúng ta muốn. May mắn thay,

print(xw.apps[0].books[0] == wb)
1 khiến điều này trở nên rất dễ dàng đối với chúng tôi. Từ phần Tính năng bị thiếu trong tài liệu chính thức

cách giải quyết. về bản chất, xlwings chỉ là một trình bao bọc thông minh xung quanh pywin32 trên Windows và appscript trên Mac. Bạn có thể truy cập các đối tượng bên dưới bằng cách gọi thuộc tính api. Các đối tượng bên dưới sẽ cung cấp cho bạn hầu hết mọi thứ bạn có thể làm với VBA, sử dụng cú pháp của pywin32 (khá giống VBA) và appscript (không giống VBA). Nhưng ngoài việc trông xấu xí, hãy nhớ rằng nó làm cho nền tảng mã của bạn trở nên cụ thể (. ). Excel Visual Basic for Applications là một nguồn giải thích phong phú cho nhiều đối tượng Excel hiện có

Sắp xếp là một trong những chức năng bị thiếu trong


print(xw.apps[0].books[0] == wb)
1. Bạn có thể nhận thấy rằng các bản ghi được sắp xếp từ lần rút thăm gần đây nhất đến cũ nhất. Trong vài bước tiếp theo, chúng tôi sẽ đảo ngược thứ tự

Đối tượng


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
10 là đối tượng

True
8. Việc thêm thuộc tính

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
12 vào nó sẽ tạo ra một đối tượng Phạm vi VBA, từ đó cấp quyền truy cập vào các tính năng VBA của nó

Chúng tôi sẽ sử dụng thuộc tính Sắp xếp của đối tượng VBA này. Trong ứng dụng đơn giản nhất của nó,


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
13 có hai đối số. cột mà chúng ta muốn sắp xếp bảng theo đó (dưới dạng đối tượng Phạm vi VBA) và loại thứ tự (cho dù chúng ta muốn sắp xếp bảng theo thứ tự tăng dần hay giảm dần). Có thể xem tài liệu về tham số của đối số thứ hai tại đây. Chúng tôi sẽ sắp xếp theo thứ tự tăng dần

Đặt tất cả những thứ đó lại với nhau trông như thế này


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
7_______30_______8

Đây là cách nó sẽ hiển thị trên màn hình của bạn sau khi chạy (lưu ý rằng cột đầu tiên đã thay đổi và giờ nó được sắp xếp theo thứ tự tăng dần thay vì giảm dần

Xlwings tạo trang tính mới

Phân tích dữ liệu của chúng tôi

Một vấn đề mà chúng tôi sẽ gặp phải khi cố gắng phân tích tập dữ liệu này là các ngày nằm rải rác trên ba cột khác nhau. Chúng ta sẽ cần nén nó vào một cột duy nhất. Để làm điều này, chúng ta sẽ nối các cột một cách thích hợp trong Excel, sử dụng Python. Chúng tôi bắt đầu bằng cách chèn một tiêu đề vào cột trống liền kề


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
9

Tiếp theo, chúng ta có thể chèn công thức Excel mà chúng ta muốn sử dụng dưới dạng chuỗi. Ghi chú. chi tiết cụ thể về dấu tách đối số bạn nên sử dụng tùy thuộc vào cài đặt khu vực cục bộ của máy. Đối với tôi, dấu phân cách đối số là dấu phẩy và đó là những gì tôi đã sử dụng trong hướng dẫn này, nhưng đối với bạn, nó có thể là dấu chấm phẩy


print(xw.apps)
0

Sau khi đã chèn công thức vào ô đầu tiên, bản chất thứ hai trong quy trình làm việc thông thường của Excel là tự động điền phần còn lại của các ô cho đến hết bảng. Tự động điền là một phương thức của đối tượng


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
14. Nó lấy các ô đích làm tham số dưới dạng đối tượng

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
14 và kiểu điền. Chúng tôi quan tâm đến cái mặc định có kiểu liệt kê là

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
16


print(xw.apps)
1

True

Đây là đại khái màn hình sẽ trông như thế nào sau bước này;

Xlwings tạo trang tính mới

Chúng tôi cũng có thể sử dụng biểu mẫu được đặt tên của loại điền mà chúng tôi muốn. Để làm điều này, chúng tôi sẽ cần truy xuất nó từ mô-đun


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
17 chứa các phiên bản được đặt tên của hầu hết các đối số được liệt kê. Nhớ lại rằng bạn luôn có thể kiểm tra các thuộc tính có sẵn bằng cách in

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
18

(Nếu bạn chưa quen với nó, thì


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
19 là một hàm gốc của Python và có thể nhận một số loại đối số (mô-đun, lớp và đối tượng thông thường (như danh sách và chuỗi). Ví dụ: nếu bạn in

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
20, nó sẽ cung cấp cho bạn tất cả các phương thức và thuộc tính mà bạn có thể sử dụng với một danh sách. )

Những gì chúng tôi đã làm ở trên cũng có thể đạt được với đoạn mã sau


print(xw.apps)
3

Vì chúng ta sẽ sử dụng điều này thường xuyên, nên chúng ta sẽ tạo một hàm áp dụng cách điền mặc định, cho trước

  • một bảng tính
  • một chuỗi đại diện cho một ô trong trang tính
  • một hàng cuối cùng để điền vào

Để làm điều này, chúng tôi sẽ giới thiệu một phương thức


True
8 mới có tên là

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
22. Nó nhận bốn đối số Boolean và trả về một chuỗi xác định phạm vi với các mức độ chi tiết khác nhau. Đây là một minh họa đầy hy vọng về phương pháp này


print(xw.apps)
4

print(xw.apps)
5

Và bây giờ chúng tôi xác định chức năng của chúng tôi


print(xw.apps)
6

Để ngăn Excel thực hiện các tính toán không cần thiết, chúng tôi sẽ thay thế các công thức mà chúng tôi vừa chèn vào cột


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
23 bằng các giá trị được mã hóa cứng. Trước khi làm điều này, chúng ta hãy dành một chút thời gian để suy nghĩ về loại đối tượng Python là

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
24 khi

True
8 là một mảng


print(xw.apps)
7_______33_______8

Đó là một danh sách. Hãy xem mười yếu tố đầu tiên của nó


print(xw.apps)
9

Apps([])
0

Nếu chúng tôi chèn danh sách này vào bất kỳ phạm vi nào, nó sẽ đặt các giá trị theo chiều ngang, đây không phải là điều chúng tôi muốn. Để đặt chúng theo chiều dọc, chúng ta sẽ cần sử dụng phương thức của đối tượng


True
8 với tùy chọn

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
28 làm tham số, như thế này


Apps([])
1

Và bây giờ chúng ta có thể xóa các cột


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
29 đến

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
30


Apps([])
2_______30_______8

Định dạng EuroMillions đã trải qua một số sửa đổi nhẹ trong những năm qua, lần cuối cùng xảy ra vào ngày 24 tháng 9 năm 2016

Từ ngày 24/09/2016 số sao may mắn thay đổi từ bộ 11 số sang bộ 12 số. Để thực hiện một phân tích có ý nghĩa, chúng tôi sẽ chỉ xem xét các trận hòa xảy ra sau lần sửa đổi cuối cùng. Đoạn mã tiếp theo tìm trò chơi cuối cùng xảy ra trước khi sửa đổi và đặt tên cho nó là


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
31


Apps([])
4

Và bây giờ chúng ta có thể xóa mọi hàng từ trò chơi đầu tiên đến


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
31


Apps([])
5

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
8

Đây là nơi chúng ta đang ở, tại thời điểm này

Xlwings tạo trang tính mới

Chuẩn bị dữ liệu xong, bây giờ chúng ta sẽ format bảng này. Chúng tôi sẽ bắt đầu bằng cách đặt phông chữ của hàng đầu tiên thành đậm


Apps([])
7

Chúng ta có thể làm theo điều đó bằng cách định dạng cột


print(xw.apps[0].books[0] == wb)
4 theo triệu. Lưu ý rằng định dạng chuỗi bên dưới phụ thuộc vào cài đặt khu vực cục bộ của máy bạn. Nếu định dạng có vẻ kỳ quặc ở phía bạn, hãy thử hoán đổi dấu phẩy bằng dấu chấm. Thông tin thêm về các định dạng tùy chỉnh của Excel tại đây


Apps([])
8

Như một bước phụ trợ cho những gì sẽ tiếp theo, chúng ta sẽ tìm chữ cái tương ứng với cột cuối cùng có dữ liệu


Apps([])
9

Bây giờ, hãy thêm một đường viền vào cuối các ô tiêu đề. Tương tự như những gì chúng ta đang làm, chúng ta sẽ sử dụng thuộc tính


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
12. Ngoài ra, chúng ta sẽ cần thuộc tính

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
35 của các đối tượng

True
8, cách liệt kê hướng viền và kiểu của viền. Chúng ta sẽ chỉ thiết lập đường viền có hai cạnh (kiểu đường

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
37) ở dưới cùng của các ô tiêu đề (hướng

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
38)


print(xw.apps[0].books)
0

Bây giờ chúng ta hãy theo cả hàng và cột


print(xw.apps[0].books)
1

Xlwings tạo trang tính mới

Ối. Điều này có vẻ hơi nhỏ, chúng ta hãy đặt chiều rộng của tất cả các cột thành chiều rộng của cột


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
39 có vẻ là lớn nhất. Đây là tài liệu

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
40 mà chúng tôi đang sử dụng ngay bên dưới


print(xw.apps[0].books)
2

Điều đó sẽ nhìn tốt hơn. Và chúng tôi đã hoàn thành với trang tính này

Hãy để chúng tôi một tờ giấy trắng mới có tên là


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
42 và hãy gán nó cho tên Python là

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
43


print(xw.apps[0].books)
3

Chúng tôi sẽ điền vào bảng này tần suất tuyệt đối của từng số và từng ngôi sao may mắn trong tập dữ liệu mà chúng tôi vừa sắp xếp trong bảng


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
44


print(xw.apps[0].books)
4

Bên dưới, chúng tôi sẽ chèn tiêu đề cho các tần số trong ô


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
45 và trong ô

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
46, chúng tôi sẽ nhập một công thức sẽ đếm số lần giá trị trong

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
47 xảy ra trong phạm vi

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
48. Nói cách khác, chúng ta sẽ đếm bao nhiêu lần

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
00 xảy ra trong cột

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
50. Sau đó, chúng tôi sẽ tự động điền phần còn lại của các ô trên cột

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
51 để thực hiện tương tự cho các hàng tương ứng của chúng


print(xw.apps[0].books)
5

Và chúng tôi cũng làm như vậy với những ngôi sao may mắn


print(xw.apps[0].books)
6

Đây là cách trang tính mới của chúng tôi sẽ xem xét điểm này

Xlwings tạo trang tính mới

Chúng tôi đang tiến gần đến mục tiêu của mình. Hãy tạo một trang tính có tên là


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
52


print(xw.apps[0].books)
7

Bây giờ chúng ta sẽ tạo một đối tượng. Điều này sẽ chỉ tạo ra một hộp trắng trống, nhưng đừng lo lắng. Chúng tôi sẽ sử dụng hộp đó để lập biểu đồ dữ liệu của chúng tôi trong giây lát


print(xw.apps[0].books)
8

Chúng tôi có thể biểu đồ của mình tương tự như những gì chúng tôi đã làm cho trang tính. Phương thức này cho phép chúng tôi xác định nguồn dữ liệu cho biểu đồ của mình bằng cách chuyển vào một đối tượng phạm vi


print(xw.apps[0].books)
9

Excel sẽ cố gắng đoán xem trục x sẽ là bao nhiêu, nhưng chúng ta có thể buộc nó phải là số mà chúng ta đã tạo trên


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
42 bằng cách sử dụng phương thức

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
57

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
58. Chúng ta có thể chỉnh sửa biểu đồ bằng cách sử dụng đối tượng ở chỉ mục 1 của

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
59


Books([])
0

Excel rất giỏi trong việc đoán người dùng muốn loại biểu đồ nào, nhưng đề phòng nó đoán sai, chúng ta sẽ buộc nó thành biểu đồ cột. Các loại biểu đồ khác nhau được liệt kê ở đây. Than ôi, tài liệu duy nhất kết nối những giá trị này với các giá trị có thể có của thuộc tính là chính mã nguồn


Books([])
1

Bây giờ chúng ta sẽ xác định chiều cao và chiều rộng của biểu đồ. Đơn vị đo là điểm


Books([])
2

Đây là những gì chúng ta nên thấy vào thời điểm này

Xlwings tạo trang tính mới

Phương thức


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
61 cùng với tham số

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
02 đặt tiêu đề phía trên biểu đồ. Xem các lập luận khác tại đây


Books([])
3

Và chúng tôi thêm những chi tiết cuối cùng. Chúng tôi xóa chú giải bằng cách sử dụng thuộc tính


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
63


Books([])
4

Danh mục


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
64 được chuyển làm đối số 1 cho phương thức

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
65, cùng với thuộc tính TickLabelSpacing được đặt thành

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
00, đảm bảo rằng mọi phần tử trên trục của chúng ta đều được hiển thị


Books([])
5

Để hoàn tất việc định dạng biểu đồ này, chúng ta xóa đường viền bằng cách đặt thuộc tính


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
67 của đối tượng

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
68 thành

wb = xw.Book() # wb = xw.Book(filename) would open an existing file
16


Books([])
6

Và đây là những gì chúng ta sẽ thấy

Xlwings tạo trang tính mới

Dưới đây chúng tôi làm điều tương tự cho các ngôi sao may mắn


Books([])
7

Xlwings tạo trang tính mới

Và để hoàn thiện, chúng tôi tạo một biểu đồ chuỗi thời gian hiển thị sự phát triển của giải độc đắc


Books([])
8

Và chúng tôi sửa định dạng nhãn của trục dọc bằng cách đặt thuộc tính TickLabels


wb = xw.Book() # wb = xw.Book(filename) would open an existing file
70 thành giao diện mong muốn


Books([])
9

Xlwings tạo trang tính mới

Và chúng tôi đã hoàn thành. Bây giờ chúng tôi lưu tệp và thoát phiên bản Excel của chúng tôi


print(xw.apps[0].books[0] == wb)
0

Hy vọng, hướng dẫn xlwings này hữu ích

Một số tài nguyên hữu ích để tìm hiểu về


print(xw.apps[0].books[0] == wb)
1 là tài liệu chính thức, bảng định dạng gian lận này, tài liệu VBA cho Excel và khóa học xlwings. Python cho Excel được thiết kế bởi chính Felix Zumstein, nhà phát triển của

print(xw.apps[0].books[0] == wb)
1

Hướng dẫn này có hữu ích không?

Chọn con đường của bạn để tiếp tục học các kỹ năng dữ liệu có giá trị

Xlwings tạo trang tính mới

Xlwings tạo trang tính mới

Hướng dẫn Python

Thực hành các kỹ năng lập trình Python của bạn khi bạn làm việc với các hướng dẫn miễn phí của chúng tôi

Các khóa học khoa học dữ liệu

Cam kết học tập với các khóa học khoa học dữ liệu tương tác, trong trình duyệt của bạn bằng Python, R, SQL, v.v.

excelintermediateJupyterpythontutorialTutorialsxlwings

Thông tin về các Tác giả

Bruno Cunha

Bruno hiện là tác giả nội dung và Nhà khoa học dữ liệu tại Dataquest giảng dạy khoa học dữ liệu cho hàng nghìn sinh viên

OpenPyxl hay Xlwings cái nào tốt hơn?

xlwings là lựa chọn tốt hơn nếu bạn muốn tách riêng công việc thiết kế và viết mã . XlsxWriter/OpenPyxl là lựa chọn tốt hơn nếu nó cần có khả năng mở rộng và chạy trên máy chủ. Nếu bạn cần tạo tệp PDF ở tốc độ cao, hãy xem ReportLab.

Xlwings có hoạt động với XLSM không?

xlwings File Reader PRO . read_excel() tùy thuộc vào định dạng tệp và kích thước trang tính của bạn. Hỗ trợ tất cả các định dạng tệp Excel. xlsx/xlsm , xlsb , xls .

Mật khẩu Xlwings là gì?

Dải băng của bổ trợ tương thích với Excel >= 2007 trên Windows và >= 2016 trên macOS. Trên macOS, tất cả chức năng liên quan đến UDF đều không khả dụng. Phần bổ trợ được bảo vệ bằng mật khẩu bằng mật khẩu xlwings .

Xlwings có hoạt động trên Linux không?

Máy chủ xlwings (mới trong v0. 26. 0). Chạy bổ sung trên Linux và không yêu cầu cài đặt Python cục bộ. Hoạt động với Excel trên Máy tính để bàn trên Windows và macOS cũng như với Excel trên web và Google Trang tính.