Làm cách nào để lấy tên trang tính trong openpyxl?
Hướng dẫn đầy đủ về thư viện Python Openpyxl bao gồm cài đặt, cách tạo bảng tính mới, đọc/ghi/xóa dữ liệu khỏi bảng tính Show
Excel là ứng dụng bảng tính phổ biến nhất được sử dụng để sắp xếp thông tin tốt hơn, thực hiện tính toán, tạo biểu đồ đầu ra, v.v. Trong thế giới thử nghiệm, việc xác minh ứng dụng bằng nhiều bộ dữ liệu khác nhau là rất quan trọng để có được sản phẩm chất lượng cao và phạm vi thử nghiệm tốt Openpyxl là một trong những thư viện như vậy cho phép chúng tôi sử dụng Excel để thực hiện kiểm tra theo hướng dữ liệu và thậm chí để chuẩn bị báo cáo kết quả kiểm tra, v.v. Trong hướng dẫn này, chúng ta sẽ tìm hiểu Openpyxl là gì, cách cài đặt nó, tạo sổ làm việc mới, đọc dữ liệu từ bảng tính và ghi dữ liệu vào đó. Chúng tôi cũng sẽ tìm hiểu cách tải lên và tải xuống tương tự từ một trang web Bạn sẽ học được gì Openpyxl là gìOpenpyxl là một thư viện Python được sử dụng để đọc và ghi các tệp Excel (tệp xlsx/xlsm/xltx/xltm). Mô-đun này cho phép các chương trình Python đọc và sửa đổi bảng tính Tệp XLSX là định dạng tệp mặc định cho Microsoft Excel. Nó dựa trên tiêu chuẩn Office Open XML Tệp XLSM là tệp bảng tính hỗ trợ Macro Tệp XLTX là tệp Mẫu Excel duy trì các cài đặt do người dùng xác định Tệp XLTM là tệp mẫu hỗ trợ Macro được tạo bằng Microsoft Excel Cách cài đặt OpenpyxlKhi bạn cài đặt Python, các thư viện Openpyxl không được cài đặt theo mặc định. Chúng tôi phải thực thi một lệnh để đưa các thư viện vào Python của chúng tôi. Đối với điều này, bạn cần mở dấu nhắc lệnh và thay đổi thư mục thành thư mục chứa Python của bạn và thực hiện lệnh bên dưới pip install openpyxl Khi bạn thực hiện lệnh, các thư viện sẽ được tải xuống và cài đặt. Điều này có thể được xác minh bằng cách sử dụng lệnh danh sách pip như trong hình bên dưới Cấu hình của PyCharm IDECó 2 cách để cấu hình các thư viện Openpyxl cho một dự án trong PyCharm #1) Sử dụng tùy chọn gói có sẵn trong PyCharm Nhấp vào Tệp-> Dự án mới. Nhấp vào Tạo Dự án của bạn sẽ được tạo thành công. Để xác minh xem các thư viện có được định cấu hình hay không, hãy chuyển đến Tệp -> Cài đặt. Trong trang cài đặt, vào Project -> Project Interpreter Trong Gói, sau đó bạn sẽ thấy gói Openpyxl. Nếu thiếu, hãy nhấn vào nút “+” ở góc bên phải. Trong Các gói có sẵn, tìm kiếm Openpyxl và nhấn Gói cài đặt, như trong hình bên dưới. Sau khi cài đặt hoàn tất, bạn sẽ nhận được "gói 'openpyxl' đã cài đặt thành công" Xác minh xem gói đã được cài đặt thành công chưa #2) Sử dụng tùy chọn Inherit from global site-packages Phương pháp này khá đơn giản. Chuyển đến Tệp-> Dự án mới. Trong khi tạo một dự án mới, hãy chọn hộp kiểm “Kế thừa gói trang web toàn cầu”. Sau khi dự án được tạo, điều hướng đến Tệp -> Cài đặt-> Dự án – > Trình thông dịch dự án, bạn sẽ thấy gói Openpyxl đã được cài đặt rồi Tạo một sổ làm việc Excel mớiChúng tôi sẽ bắt đầu bằng cách tạo một sổ làm việc mới. Một tệp Excel có tên là Workbook chứa tối thiểu một Sheet. Để tạo sổ làm việc, trước tiên chúng ta phải nhập sổ làm việc từ thư viện Openpyxl bằng lệnh bên dưới from openpyxl import Workbook Hãy tạo một đối tượng sổ làm việc. Chúng ta có thể sử dụng đối tượng này để xử lý tất cả các hành động cần thực hiện như đọc, viết, v.v. wb = Workbook() Đặt đường dẫn tệp nơi bạn muốn tạo sổ làm việc, như minh họa bên dưới filepath = :”F:/tutorial/sample.xlsx” Để lưu sổ làm việc, hãy sử dụng wb.save(filepath) Thao tác này sẽ tạo một tệp Excel trống mới trong đường dẫn đã chỉ định Nếu bạn muốn tạo một tệp Excel mới ở cùng vị trí với tập lệnh Python, bạn có thể bỏ qua đường dẫn tệp và đề cập trực tiếp đến tên tệp trong wb. lưu lệnh như hình dưới đây from openpyxl import Workbook wb = Workbook() wb.save("demo.xlsx") Ghi dữ liệu vào tệp ExcelBây giờ chúng ta đã biết cách tạo một tệp mới, hãy tiếp tục và điền dữ liệu vào tệp. Để đạt được điều này, chúng ta phải tải sổ làm việc mà chúng ta đã tạo ở trên. Điều này có thể được thực hiện bằng cách sử dụng lệnh dưới đây wb = load_workbook(“demo.xlsx”) Chúng ta phải chỉ định Sheet nào chúng ta sẽ nhập dữ liệu. Vì chúng tôi chỉ có một trang tính, chúng tôi chỉ có thể sử dụng từ khóa “hoạt động” và điều này sẽ sử dụng trang tính đang hoạt động hiện tại để nhập dữ liệu sheet = wb.active Trong trường hợp bạn có nhiều trang tính, bạn phải đề cập đến tên của trang tính, như bên dưới. Trong đó SheetName là tên của trang tính trong sổ làm việc ________số 8_______Có 2 cách để nhập dữ liệu vào file Excel. Đây là như sau
sheet['A1'] = 'Software Testing Help' sheet.cell(row=4, column=2).value = 'Openpyxl Tutorial' Đảm bảo lưu tệp sau khi nhập các giá trị from openpyxl import Workbook0 Hoàn thành mã from openpyxl import Workbook1 Đoạn mã trên sẽ viết “Software Testing Help”, 10 và “Openpyxl Tutorial”, 13. 4 ở hàng thứ 1 và thứ 2 tương ứng như hình bên dưới Đổi Tên Sheet Trong File ExcelTrường hợp bạn đang theo dõi ngày báo cáo và muốn đổi tên sheet thành ngày hiện tại. Nó có thể được thực hiện thông qua lệnh “title” Đối với kịch bản này, chúng ta cần lấy ngày hiện tại. Vì vậy, trước tiên, chúng ta cần nhập gói datetime from openpyxl import Workbook2 now() sẽ cung cấp cho chúng tôi ngày và giờ hiện tại. Phương thức strftime() trả về một chuỗi biểu thị ngày và giờ from openpyxl import Workbook3 Bạn có thể thay đổi tên của trang tính bằng cách sử dụng trang tính. phương pháp tiêu đề. Đừng quên lưu tệp from openpyxl import Workbook4 Hoàn thành mã from openpyxl import Workbook5 Vì chúng tôi đã sử dụng trang hoạt động, tên của trang hoạt động hiện tại đã được thay đổi Thêm trang tính vào tệp ExcelXem xét ví dụ trên để theo dõi báo cáo của mỗi ngày, chúng ta cần tạo một trang tính mới cho mỗi ngày. Để thêm trang tính mới vào Excel, hãy sử dụng lệnh create_sheet cú pháp from openpyxl import Workbook6 Tạo một trang tính (tại một chỉ mục tùy chọn) Thông số
Ghi chú. Nếu Tham số không được nhập, thì nó sẽ tạo trang tính sau trang tính cuối cùng và đặt tên là “trang tính” from openpyxl import Workbook7 Hoàn thành mã from openpyxl import Workbook8 Kết quả Nối nhiều giá trị vào trang tínhChúng ta có thể nối thêm một nhóm giá trị ở cuối trang tính hiện tại. Điều này có thể đạt được bằng lệnh “append” cú pháp from openpyxl import Workbook9 Trường hợp iterable là một danh sách các giá trị hoặc một giá trị
Tham khảo mã dưới đây wb = Workbook()0 Kết quả Ghi chú. Bạn có thể In tên trang tính bằng cách sử dụng print(“active sheet title. ” + tờ. chức vụ) Xóa một Sheet khỏi Sổ làm việc ExcelTrong Openpyxl, nếu bạn xóa một sheet, hãy cẩn thận một chút vì nó không thể khôi phục được. Hãy tạo một trang tính Excel có 3 Trang tính và gọi nó là “Sheet1” “Sheet2” “Sheet3” và lưu nó với tên DeleteSheet. xlsx Tốt hơn hết là bạn nên biết các trang tính đã có sẵn trước khi xóa bất kỳ trang tính nào. Bạn có thể lấy nó thông qua lệnh sheetnames Sau đó, bạn có thể sử dụng wb. xóa (tên trang tính) hoặc xóa wb [tên trang tính] Ở đâu, wb là sổ làm việc bạn đã tải Tham khảo mã dưới đây wb = Workbook()1 Kết quả Đọc dữ liệu từ tệp ExcelTương tự như ghi dữ liệu vào file, chúng ta có thể đọc dữ liệu từ file Excel bằng 2 cách Hoặc, trực tiếp sử dụng kết hợp cột. Ví dụ [A1] hoặc, sử dụng số hàng và số cột. Ví dụ hàng=4, cột=2 tờ giấy. tế bào(). lệnh value sẽ giúp chúng ta lấy giá trị từ ô đã chỉ định Tìm mã hoàn chỉnh bên dưới wb = Workbook()2 Kết quả Đọc tất cả các giá trị trong tệpThông thường, trong kiểm thử phần mềm, chúng ta cần xác minh chức năng bằng nhiều bộ dữ liệu khác nhau. Giả sử rằng tất cả dữ liệu được đặt trong sổ làm việc và chúng tôi cần kiểm tra chức năng bằng cách sử dụng tất cả dữ liệu. Do đó, chúng ta cần duyệt qua từng hàng và cột để lấy các giá trị. Đối với một tập hợp dữ liệu lớn, phương pháp trên là không khả thi. Để đạt được điều này, chúng tôi phải lặp lại toàn bộ trang tính để tìm nạp các giá trị Trước tiên chúng ta cần lấy số hàng và số cột trong trang tính
wb = Workbook()3 Ghi chú. max_row và max_column là lập chỉ mục dựa trên 1. Để đi đến hàng cuối cùng, chúng ta cần thêm một vào giá trị đếm Dưới đây là Mã hoàn chỉnh để đọc các giá trị wb = Workbook()4 Ghi chú. Chúng tôi đã sử dụng end=’ ‘ để có khoảng cách giữa mỗi cột và dòng mới (\n) để in các giá trị trong một hàng mới Kết quả Nhận thư cộtGiả sử bạn có một tập dữ liệu lớn được lưu trữ trong một sổ làm việc và bạn muốn biết một giá trị cụ thể có sẵn trong chỉ mục hàng và cột nào. Bạn có thể tìm thấy điều đó bằng cách sử dụng get_column_letter. Điều này chuyển đổi một chỉ mục cột thành một ký tự cột. Ví dụ 3 đến C Tham khảo đoạn mã dưới đây wb = Workbook()5 Kết quả Thử nghiệm theo hướng dữ liệuBây giờ chúng ta đã biết Openpyxl giúp chúng ta đọc và ghi dữ liệu từ Excel, chúng ta sẽ sử dụng các khái niệm này để xây dựng một trường hợp thử nghiệm để kiểm tra ứng dụng với nhiều giá trị khác nhau được lấy từ bảng tính. Do đó đạt được thử nghiệm theo hướng dữ liệu >> Đề nghị đọc. Hãy xem xét một tình huống mà chúng tôi sẽ đăng nhập vào Facebook. com, đọc thông tin xác thực đăng nhập từ sổ làm việc, xác minh tiêu đề của trang sau khi đăng nhập và ghi kết quả trở lại cùng một sổ làm việc Bước Hành độngKết quả mong đợi1Mở trình duyệt ChromeTrình duyệt Chrome sẽ khởi chạy thành công2Điều hướng đến www. Facebook. comTrang web Facebook phải được mở3Phóng to cửa sổ trình duyệtCửa sổ trình duyệt phải được phóng to4Đọc dữ liệu từ Excel và nhập EmailEmail đã nhập sẽ được hiển thị5Đọc dữ liệu từ Excel và nhập mật khẩuMật khẩu đã nhập sẽ được hiển thị6Nhấp vào Đăng nhậpTrang phù hợp sẽ được hiển thị7Xác minh tiêu đề của trangFacebook phải là tiêu đề của Lặp lại kịch bản trên cho các thông tin đăng nhập khác nhau Tạo tệp Excel với dữ liệu đầu vàoHãy tạo một tệp có thông tin đăng nhập, tiêu đề dự kiến, tiêu đề thực và trường kết quả rồi lưu dưới dạng Dữ liệu đầu vào. xlsx EmailMật khẩuTiêu đề mong đợiTiêu đề thựcKết quả chính xácusrname@example. đúng mật khẩu Facebook chính xác tên người dùng @ ví dụ. comincorrectpasswordFacebookincorrectusrname@example. sửa mật khẩu Facebook chính xác tên người dùng @ ví dụ. sửa lại mật khẩu Facebook Ghi chú. Đây là một tập tin giả được sử dụng để hiển thị một ví dụ. Điền email và mật khẩu chính xác khi thực hành kịch bản Viết Test ScriptNhìn vào tệp đầu vào ở trên, chúng tôi có thể nói rằng chúng tôi phải lặp lại tập lệnh 4 lần cho 4 thông tin đăng nhập khác nhau. Vì vậy để tránh rườm rà chúng ta hãy tạo một class riêng chứa các hàm đọc ghi file Excel. Chúng tôi đã đặt tên nó là ExcelUtils Dưới đây là mã ExcelUtils wb = Workbook()6 Bây giờ nhập ExcelUtils. py vào lớp chính của bạn và chúng tôi sẽ có thể sử dụng lại các chức năng đọc và ghi Chúng ta sẽ đọc email và mật khẩu từ file Excel và đăng nhập Facebook. Nếu đăng nhập thành công thì script sẽ cập nhật kết quả vào file là Passed. Nếu đăng nhập không thành công thì tập lệnh sẽ cập nhật tiêu đề thực của trang và đánh dấu kết quả là Không thành công Ghi chú. Cài đặt thư viện Selenium trong IDE của bạn, Bạn không thể thực thi mã nếu không có điều đó. pip install Lệnh Selenium được sử dụng để cài đặt các thư viện Selenium Dưới đây là mã hoàn chỉnh wb = Workbook()7 Kết quả EmailMật khẩuTiêu đề mong đợiTiêu đề thựcKết quả chính xácusrname@example. sai mật khẩu FacebookĐăng nhập Facebook. FacebookFailedcorrectusrname@example. sai mật khẩu FacebookĐăng nhập Facebook. FacebookFailedintrueusrname@example. comcorrectpasswordFacebookLogin helpFailedcorrectusrname@example. sửa lại mật khẩu FacebookĐã thông qua Cập nhật dử liệuKhi bạn bắt đầu tự động hóa các dự án thời gian thực, sớm muộn gì bạn cũng sẽ thực hiện tải tệp lên. Ví dụ: tải tệp kết quả lên bộ nhớ dùng chung hoặc thử nghiệm ứng dụng bằng cách tải tệp lên, v.v. Vấn đề với tệp tải lên là khi bạn nhấp vào nút tải lên, hộp thoại chọn tệp mở ra không thuộc sở hữu của trình duyệt, vì vậy bạn không thể kiểm soát nó bằng Selenium Để đạt được điều này, chúng ta cần chuyển trực tiếp đường dẫn tệp đến phần tử đầu vào wb = Workbook()8 Chúng ta nên chọn phần tử đầu vào và sau đó chuyển đường dẫn của tệp tới phần tử đó bằng phương thức send_keys [nguồn ảnh] Trong ví dụ này, chúng tôi đang lấy phần tử web của trường đầu vào id(“content”) và chuyển trực tiếp đường dẫn tệp bằng cách sử dụng các phím gửi Dưới đây là mã để tải lên tệp Excel wb = Workbook()9 Kết quả Tải tập tinTải xuống một tệp khá đơn giản trong Selenium. Tìm phần tử web của tệp và nút tải xuống. Nhưng thông thường, các tệp được tải xuống trong thư mục tải xuống Nếu bạn muốn tải xuống các tệp trong một thư mục cụ thể, thì bạn sẽ phải sử dụng tùy chọn chrome và chỉ định đường dẫn của thư mục nơi tệp phải được tải xuống Tham khảo mã dưới đây filepath = :”F:/tutorial/sample.xlsx”0 Mã này sẽ tải xuống tệp theo đường dẫn do bạn chỉ định Kết quả Các câu hỏi thường gặpQ #1) Làm cách nào để cài đặt Openpyxl? Câu trả lời. Chúng tôi phải thực thi một lệnh để đưa các thư viện vào Python của chúng tôi. Mở dấu nhắc lệnh và thay đổi thư mục thành thư mục làm việc của Python và thực hiện lệnh bên dưới filepath = :”F:/tutorial/sample.xlsx”1 Q #2) Tôi có thể sử dụng Python trong Excel không? Câu trả lời. Mô-đun Openpyxl cho phép Python đọc dữ liệu từ tệp Excel và cũng cho phép chúng tôi ghi/sửa đổi/nối dữ liệu vào cùng một tệp Q #3) Làm cách nào để tôi tải sổ làm việc trong Openpyxl? Câu trả lời #Nhập load_workbook # Tải sổ làm việc Ví dụ- wb =load_workbook(“C. \\Người dùng\\bản trình diễn. xlsx”) Q #4) Openpyxl có hoạt động với XLS không? Câu trả lời. Không, nó không hỗ trợ XLS. Nếu bạn cố gắng sử dụng. định dạng tệp XLS, Python sẽ đưa ra một ngoại lệ nâng cao InvalidFileException(msg) openpyxl. đồ dùng. ngoại lệ. Ngoại lệ tệp không hợp lệ. openpyxl không hỗ trợ cái cũ. xls, vui lòng sử dụng xlrd để đọc tệp này hoặc chuyển đổi nó sang định dạng mới hơn. định dạng tệp xlsx Học thêm =>> Xử lý ngoại lệ trong Python Q #5) Làm cách nào để tìm phiên bản Openpyxl mà tôi có? Câu trả lời. Mở dấu nhắc lệnh. Thay đổi thư mục thành thư mục cài đặt Python của bạn, sau đó thực hiện lệnh pip list. Điều này sẽ cung cấp cho tất cả các gói được cài đặt cùng với phiên bản của chúng Q #6) Openpyxl có hoạt động với Excel 2016 không? Câu trả lời. Có, nó hỗ trợ các định dạng tệp xlsx, xlsm, xltx và xltm Q #7) Làm cách nào để tạo trang tính mới trong Openpyxl? Câu trả lời. Để thêm trang tính mới vào Excel, hãy sử dụng from openpyxl import Workbook6 Tạo một trang tính (tại một chỉ mục tùy chọn) Thông số
Ghi chú. nó không nhập Nếu Tham số thì nó tạo trang tính sau trang tính cuối cùng và đặt tên là “trang tính” Ví dụ – wb. create_sheet(index = 3 , title = “Day4”) Q #8) Làm cách nào để đóng sổ làm việc trong Openpyxl? Câu trả lời. Workbook_Object. Thoát() Thao tác này sẽ Đóng tệp sổ làm việc nếu đang mở. Nó chỉ ảnh hưởng đến chế độ chỉ đọc và chỉ ghi. Ví dụ – Wb. Thoát() Sau khi bạn đóng sổ làm việc. Bạn sẽ không được phép sử dụng lại cho đến khi bạn tải lại sổ làm việc Q #9) Cách giải quyết – không có mô-đun nào có tên lỗi 'openpyxl'? Câu trả lời. ModuleNotFoundLỗi. Lỗi không có mô-đun có tên openpyxl xảy ra khi mô-đun đó chưa được cài đặt Nếu bạn có cả Python2. x và Python3. x được cài đặt trong cùng một máy, sau đó sử dụng pip để cài đặt trong Python2. x và pip3 để cài đặt trong Python3. x Thí dụ - pip install openpyxl – Cài đặt mô-đun Openpyxl trong Python2. x pip3 cài đặt openpyxl – Cài đặt mô-đun Openpyxl trong Python3. x Q #10) Làm cách nào để mở tệp Excel đã tồn tại bằng Openpyxl? Câu trả lời. Nếu bạn đã có file Excel thì dùng hàm load_workbook để mở Nếu tệp nằm trong thư mục làm việc hiện tại của python, chỉ cần viết tên tệp làm đối số cho hàm này Ví dụ - từ openpyxl nhập load_workbook Nếu tệp của bạn không có trong thư mục làm việc python của bạn, thì hãy đề cập đến đường dẫn của tệp dưới dạng tham số để tải sổ làm việc Ví dụ - từ openpyxl nhập load_workbook Phần kết luậnTrong hướng dẫn này, chúng ta đã tìm hiểu về thư viện Openpyxl cho phép chúng ta tương tác linh hoạt với Excel và do đó giúp việc kiểm tra theo hướng dữ liệu trở nên dễ dàng |