Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

XLSXWriter là mô -đun Python để tạo các tệp XLSX Excel.

Show

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

(Mã mẫu để tạo bảng tính trên.)Sample code to create the above spreadsheet.)

Xlsxwriter

XLSXWriter là một mô -đun Python có thể được sử dụng để viết văn bản, số, công thức và siêu liên kết vào nhiều bảng tính trong tệp XLSX Excel 2007+. Nó hỗ trợ các tính năng như định dạng và nhiều hơn nữa, bao gồm:

  • Tương thích 100% các tệp xlsx excel tương thích.
  • Định dạng đầy đủ.
  • Các tế bào hợp nhất.
  • Tên được xác định.
  • Charts.
  • Autofilters.
  • Xác thực dữ liệu và danh sách thả xuống.
  • Định dạng có điều kiện.
  • Bảng tính PNG/JPEG/GIF/BMP/WMF/EMF.
  • Chuỗi đa định dạng phong phú.
  • Bình luận di động.
  • Textboxes.
  • Tích hợp với gấu trúc.
  • Chế độ tối ưu hóa bộ nhớ để viết các tệp lớn.

Nó hỗ trợ Python 3.4+ và Pypy3 và chỉ sử dụng các thư viện tiêu chuẩn.

Tài liệu này giải thích cách sử dụng mô -đun XLSXWriter. Xem các phần sau để biết thêm thông tin hoặc nhảy thẳng vào phần giới thiệu.Introduction.

  • Nội dung

  • Giới thiệu
  • Bắt đầu với xlsxwriter

  • Hướng dẫn 1: Tạo tệp XLSX đơn giản
  • Hướng dẫn 2: Thêm định dạng vào tệp XLSX
  • Hướng dẫn 3: Viết các loại dữ liệu khác nhau vào tệp XLSX

  • Lớp sách bài tập
  • Lớp bảng tính
  • Lớp bảng tính (thiết lập trang)
  • Lớp định dạng
  • Lớp biểu đồ
  • Lớp biểu đồ
  • Các lớp ngoại lệ

  • Làm việc với ký hiệu tế bào
  • Làm việc với và ghi dữ liệu
  • Làm việc với các công thức
  • Làm việc với ngày và thời gian
  • Làm việc với màu sắc
  • Làm việc với biểu đồ
  • Làm việc với định vị đối tượng
  • Làm việc với các bộ lọc tự động
  • Làm việc với xác thực dữ liệu
  • Làm việc với định dạng có điều kiện
  • Làm việc với bảng bảng tính
  • Làm việc với hộp văn bản
  • Làm việc với tia lửa
  • Làm việc với các bình luận di động
  • Làm việc với phác thảo và nhóm
  • Làm việc với bộ nhớ và hiệu suất
  • Làm việc với các macro VBA
  • Làm việc với Python Pandas và XLSXWriter

  • Ví dụ

  • Ví dụ biểu đồ

  • Gấu trúc có ví dụ xlsxwriter

  • Các mô -đun thay thế để xử lý các tệp Excel
  • Các thư viện sử dụng hoặc nâng cao XLSXWriter
  • Các vấn đề và lỗi đã biết
  • Báo cáo lỗi
  • Các câu hỏi thường gặp
  • Thay đổi trong xlsxwriter
  • Tác giả
  • Giấy phép

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Chỉnh sửa bảng tính Excel trong Python với OpenPyXL This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Editing Excel Spreadsheets in Python With openpyxl

Bảng tính Excel là một trong những điều bạn có thể phải đối phó tại một số điểm. Hoặc là vì ông chủ của bạn yêu họ hoặc vì tiếp thị cần chúng, bạn có thể phải học cách làm việc với bảng tính, và điều đó khi biết

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 có ích!

Bảng tính là một cách rất trực quan và thân thiện với người dùng để thao tác các bộ dữ liệu lớn mà không có bất kỳ nền tảng kỹ thuật nào trước đó. Đó là lý do tại sao họ vẫn còn rất thường được sử dụng ngày nay.

Trong bài viết này, bạn sẽ học cách sử dụng openpyxl để:

  • Thao tác với bảng tính Excel với sự tự tin
  • Trích xuất thông tin từ bảng tính
  • Tạo bảng tính đơn giản hoặc phức tạp hơn, bao gồm thêm các kiểu, biểu đồ, v.v.

Bài viết này được viết cho các nhà phát triển trung gian, những người có kiến ​​thức khá tốt về các cấu trúc dữ liệu Python, chẳng hạn như Dicts và Danh sách, nhưng cũng cảm thấy thoải mái xung quanh OOP và các chủ đề cấp trung gian hơn.

Trước khi bắt đầu

Nếu bạn đã từng được yêu cầu trích xuất một số dữ liệu từ cơ sở dữ liệu hoặc tệp nhật ký vào bảng tính Excel hoặc nếu bạn thường phải chuyển đổi bảng tính Excel thành một hình thức lập trình có thể sử dụng hơn, thì hướng dẫn này là hoàn hảo cho bạn. Hãy để nhảy vào đoàn lữ hành

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0!

Trường hợp sử dụng thực tế

Điều đầu tiên trước tiên, khi nào bạn cần sử dụng một gói như

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 trong kịch bản trong thế giới thực? Bạn sẽ thấy một vài ví dụ dưới đây, nhưng thực sự, có hàng trăm kịch bản có thể xảy ra trong đó kiến ​​thức này có thể có ích.

Nhập sản phẩm mới vào cơ sở dữ liệu

Bạn chịu trách nhiệm về công nghệ trong một công ty cửa hàng trực tuyến và sếp của bạn không muốn trả tiền cho một hệ thống CMS tuyệt vời và đắt tiền.

Mỗi lần họ muốn thêm sản phẩm mới vào cửa hàng trực tuyến, họ sẽ đến với bạn với bảng tính Excel với vài trăm hàng và, cho mỗi người trong số họ, bạn có tên sản phẩm, mô tả, giá cả, v.v.

Bây giờ, để nhập dữ liệu, bạn sẽ phải lặp lại trên mỗi hàng bảng tính và thêm từng sản phẩm vào cửa hàng trực tuyến.

Xuất dữ liệu cơ sở dữ liệu vào bảng tính

Giả sử bạn có một bảng cơ sở dữ liệu nơi bạn ghi lại tất cả thông tin của người dùng, bao gồm tên, số điện thoại, địa chỉ email, v.v.

Bây giờ, nhóm tiếp thị muốn liên hệ với tất cả người dùng để cung cấp cho họ một số ưu đãi hoặc khuyến mãi giảm giá. Tuy nhiên, họ không có quyền truy cập vào cơ sở dữ liệu hoặc họ không biết cách sử dụng SQL để trích xuất thông tin đó một cách dễ dàng.

Bạn có thể làm gì để giúp đỡ? Chà, bạn có thể tạo một tập lệnh nhanh bằng cách sử dụng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 lặp lại trên mỗi bản ghi người dùng và đặt tất cả thông tin cần thiết vào bảng tính Excel.

Rằng sẽ kiếm được cho bạn một lát bánh thêm tại công ty của bạn Bữa tiệc sinh nhật tiếp theo của bạn!

Nối thêm thông tin vào bảng tính hiện có

Bạn cũng có thể phải mở một bảng tính, đọc thông tin trong đó và, theo một số logic kinh doanh, hãy nối thêm dữ liệu vào nó.

Ví dụ: sử dụng kịch bản cửa hàng trực tuyến một lần nữa, nói rằng bạn nhận được bảng tính Excel với danh sách người dùng và bạn cần nối vào mỗi hàng tổng số tiền họ đã chi trong cửa hàng của bạn.

Dữ liệu này có trong cơ sở dữ liệu và, để thực hiện việc này, bạn phải đọc bảng tính, lặp qua mỗi hàng, lấy tổng số tiền chi từ cơ sở dữ liệu và sau đó viết lại cho bảng tính.

Không phải là vấn đề cho

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0!

Học một số thuật ngữ Excel cơ bản

Dưới đây, một danh sách nhanh các thuật ngữ cơ bản mà bạn sẽ thấy khi bạn làm việc với bảng tính Excel:

Kỳ hạnGiải trình
Bảng tính hoặc sổ làm việcBảng tính là tệp chính bạn đang tạo hoặc làm việc cùng.Spreadsheet is the main file you are creating or working with.
Bảng tính hoặc tờMột tờ được sử dụng để phân chia các loại nội dung khác nhau trong cùng một bảng tính. Một bảng tính có thể có một hoặc nhiều bảng.Sheet is used to split different kinds of content within the same spreadsheet. A Spreadsheet can have one or more Sheets.
CộtMột cột là một đường thẳng đứng và nó được đại diện bởi một chữ cái viết hoa: A.Column is a vertical line, and it’s represented by an uppercase letter: A.
Hàng ngangMột hàng là một đường ngang và nó được biểu thị bằng một số: 1.Row is a horizontal line, and it’s represented by a number: 1.
Tế bàoMột ô là sự kết hợp giữa cột và hàng, được biểu thị bằng cả chữ hoa và số: A1.Cell is a combination of Column and Row, represented by both an uppercase letter and a number: A1.

Bắt đầu với OpenPyXL

Bây giờ, bạn đã nhận thức được lợi ích của một công cụ như

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0, hãy để Lừa xuống và bắt đầu bằng cách cài đặt gói. Đối với hướng dẫn này, bạn nên sử dụng Python 3.7 và OpenPyXL 2.6.2. Để cài đặt gói, bạn có thể làm như sau:

Sau khi bạn cài đặt gói, bạn sẽ có thể tạo một bảng tính siêu đơn giản với mã sau:

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

sheet["A1"] = "hello"
sheet["B1"] = "world!"

workbook.save(filename="hello_world.xlsx")

Mã trên sẽ tạo một tệp có tên

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
6 trong thư mục bạn đang sử dụng để chạy mã. Nếu bạn mở tệp đó bằng Excel, bạn sẽ thấy một cái gì đó như thế này:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Woohoo, bảng tính đầu tiên của bạn được tạo!

Đọc bảng tính excel với openpyxl

Hãy bắt đầu với những điều cần thiết nhất mà người ta có thể làm với bảng tính: Đọc nó.

Bạn sẽ đi từ một cách tiếp cận đơn giản để đọc một bảng tính đến các ví dụ phức tạp hơn, nơi bạn đọc dữ liệu và chuyển đổi nó thành các cấu trúc python hữu ích hơn.

Bộ dữ liệu cho hướng dẫn này

Trước khi bạn đi sâu vào một số ví dụ về mã, bạn nên tải xuống bộ dữ liệu mẫu này và lưu trữ nó ở đâu đó dưới dạng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7:download this sample dataset and store it somewhere as
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7:

Đây là một trong những bộ dữ liệu mà bạn sẽ sử dụng trong suốt hướng dẫn này và nó là một bảng tính với một mẫu dữ liệu thực từ các đánh giá sản phẩm trực tuyến của Amazon. Bộ dữ liệu này chỉ là một phần nhỏ của những gì Amazon cung cấp, nhưng với mục đích thử nghiệm, nó đã quá đủ.

Một cách tiếp cận đơn giản để đọc bảng tính Excel

Cuối cùng, hãy để bắt đầu đọc một số bảng tính! Để bắt đầu, hãy mở bảng tính mẫu của chúng tôi:

>>>

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'

Trong mã trên, trước tiên bạn mở bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 bằng
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
9, và sau đó bạn có thể sử dụng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
0 để xem tất cả các tờ bạn có sẵn để làm việc. Sau đó,
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
1 chọn bảng có sẵn đầu tiên và, trong trường hợp này, bạn có thể thấy rằng nó sẽ tự động chọn bảng 1. Sử dụng các phương thức này là cách mặc định để mở một bảng tính và bạn sẽ thấy nó nhiều lần trong hướng dẫn này.Sheet 1 automatically. Using these methods is the default way of opening a spreadsheet, and you’ll see it many times during this tutorial.

Bây giờ, sau khi mở một bảng tính, bạn có thể dễ dàng truy xuất dữ liệu từ nó như thế này:

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"

Trong mã trên, trước tiên bạn mở bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 bằng
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
9, và sau đó bạn có thể sử dụng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
0 để xem tất cả các tờ bạn có sẵn để làm việc. Sau đó,
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
1 chọn bảng có sẵn đầu tiên và, trong trường hợp này, bạn có thể thấy rằng nó sẽ tự động chọn bảng 1. Sử dụng các phương thức này là cách mặc định để mở một bảng tính và bạn sẽ thấy nó nhiều lần trong hướng dẫn này.

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"

Trong mã trên, trước tiên bạn mở bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 bằng
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
9, và sau đó bạn có thể sử dụng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
0 để xem tất cả các tờ bạn có sẵn để làm việc. Sau đó,
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
1 chọn bảng có sẵn đầu tiên và, trong trường hợp này, bạn có thể thấy rằng nó sẽ tự động chọn bảng 1. Sử dụng các phương thức này là cách mặc định để mở một bảng tính và bạn sẽ thấy nó nhiều lần trong hướng dẫn này.

Bây giờ, sau khi mở một bảng tính, bạn có thể dễ dàng truy xuất dữ liệu từ nó như thế này:

Để trả về giá trị thực của một ô, bạn cần phải làm
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
2. Nếu không, bạn sẽ nhận được đối tượng chính
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3 chính. Bạn cũng có thể sử dụng phương pháp
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
4 để truy xuất một ô bằng ký hiệu chỉ mục. Hãy nhớ thêm
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
2 để có được giá trị thực tế chứ không phải đối tượng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3:

Bạn có thể thấy rằng các kết quả được trả lại là như nhau, bất kể bạn quyết định đi theo cách nào. Tuy nhiên, trong hướng dẫn này, bạn sẽ chủ yếu sử dụng phương pháp đầu tiên:

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
7.

  1. Trên đây cho bạn thấy cách nhanh nhất để mở bảng tính. Tuy nhiên, bạn có thể vượt qua các tham số bổ sung để thay đổi cách tải bảng tính. loads a spreadsheet in read-only mode allowing you to open very large Excel files.
  2. Tùy chọn đọc bổ sung ignores loading formulas and instead loads only the resulting values.

Có một vài đối số bạn có thể chuyển sang >>> for row in sheet.iter_rows(min_row=1, ... max_row=2, ... min_col=1, ... max_col=3): ... print(row) (, , ) (, , ) >>> for column in sheet.iter_cols(min_row=1, ... max_row=2, ... min_col=1, ... max_col=3): ... print(column) (, ) (, ) (, ) 9 thay đổi cách tải bảng tính. Những cái quan trọng nhất là hai booleans sau:

read_only tải một bảng tính ở chế độ chỉ đọc cho phép bạn mở các tệp excel rất lớn.the iteration and actual usage of the values within the spreadsheet.

Data_only bỏ qua các công thức tải và thay vào đó chỉ tải các giá trị kết quả.

Nhập dữ liệu từ bảng tính

Bây giờ, bạn đã học được những điều cơ bản về việc tải một bảng tính, đó là khoảng thời gian bạn nhận được phần thú vị: lặp lại và sử dụng thực tế của các giá trị trong bảng tính.

Phần này là nơi bạn sẽ học tất cả các cách khác nhau mà bạn có thể lặp lại thông qua dữ liệu, nhưng cũng làm thế nào để chuyển đổi dữ liệu đó thành một thứ gì đó có thể sử dụng và quan trọng hơn là làm thế nào để thực hiện theo cách của Pythonic.

>>>

>>> sheet["A1:C2"]
((, , ),
 (, , ))

Trong mã trên, trước tiên bạn mở bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 bằng
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
9, và sau đó bạn có thể sử dụng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
0 để xem tất cả các tờ bạn có sẵn để làm việc. Sau đó,
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
1 chọn bảng có sẵn đầu tiên và, trong trường hợp này, bạn có thể thấy rằng nó sẽ tự động chọn bảng 1. Sử dụng các phương thức này là cách mặc định để mở một bảng tính và bạn sẽ thấy nó nhiều lần trong hướng dẫn này.

>>>

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

Trong mã trên, trước tiên bạn mở bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 bằng
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
9, và sau đó bạn có thể sử dụng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
0 để xem tất cả các tờ bạn có sẵn để làm việc. Sau đó,
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
1 chọn bảng có sẵn đầu tiên và, trong trường hợp này, bạn có thể thấy rằng nó sẽ tự động chọn bảng 1. Sử dụng các phương thức này là cách mặc định để mở một bảng tính và bạn sẽ thấy nó nhiều lần trong hướng dẫn này.

Bây giờ, sau khi mở một bảng tính, bạn có thể dễ dàng truy xuất dữ liệu từ nó như thế này:

  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    1
  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    2

Cả hai phương thức có thể nhận được các đối số sau:

  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    3
  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    4
  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    5
  • >>> for row in sheet.rows:
    ...     print(row)
    (, , 
    ...
    , , )
    
    6

Các đối số này được sử dụng để đặt ranh giới cho phép lặp:

>>>

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )

Bạn sẽ nhận thấy rằng trong ví dụ đầu tiên, khi lặp qua các hàng bằng cách sử dụng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1, bạn sẽ nhận được một phần tử
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi hàng được chọn. Trong khi khi sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 và lặp qua các cột, bạn sẽ nhận được một
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi cột thay thế.

Một đối số bổ sung bạn có thể chuyển cho cả hai phương thức là Boolean

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
1. Khi nó được đặt thành
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
2, các giá trị của ô được trả về, thay vì đối tượng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3:

>>>

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')

Bạn sẽ nhận thấy rằng trong ví dụ đầu tiên, khi lặp qua các hàng bằng cách sử dụng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1, bạn sẽ nhận được một phần tử
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi hàng được chọn. Trong khi khi sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 và lặp qua các cột, bạn sẽ nhận được một
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi cột thay thế.

>>>

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )

Bạn sẽ nhận thấy rằng trong ví dụ đầu tiên, khi lặp qua các hàng bằng cách sử dụng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1, bạn sẽ nhận được một phần tử
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi hàng được chọn. Trong khi khi sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 và lặp qua các cột, bạn sẽ nhận được một
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi cột thay thế.

Một đối số bổ sung bạn có thể chuyển cho cả hai phương thức là Boolean
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
1. Khi nó được đặt thành
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
2, các giá trị của ô được trả về, thay vì đối tượng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3:

Nếu bạn muốn lặp lại toàn bộ tập dữ liệu, thì bạn cũng có thể sử dụng trực tiếp các thuộc tính

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
4 hoặc
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
5, là các phím tắt để sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1 và
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 mà không có bất kỳ đối số nào:

Các phím tắt này rất hữu ích khi bạn lặp đi lặp lại toàn bộ bộ dữ liệu.

Thao tác dữ liệu bằng cách sử dụng các cấu trúc dữ liệu mặc định của Python

Bây giờ bạn đã biết những điều cơ bản của việc lặp lại thông qua dữ liệu trong sổ làm việc, hãy để Lôi nhìn vào các cách thông minh để chuyển đổi dữ liệu đó thành các cấu trúc Python.

Như bạn đã thấy trước đó, kết quả từ tất cả các lần lặp lại dưới dạng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
0. Tuy nhiên, vì
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 không gì khác hơn là
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
00 bất biến, bạn có thể dễ dàng truy cập dữ liệu của nó và biến nó thành các cấu trúc khác.

>>>

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)

Bạn sẽ nhận thấy rằng trong ví dụ đầu tiên, khi lặp qua các hàng bằng cách sử dụng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1, bạn sẽ nhận được một phần tử
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi hàng được chọn. Trong khi khi sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 và lặp qua các cột, bạn sẽ nhận được một
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi cột thay thế.

  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    02
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    03
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    04
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    05

Một đối số bổ sung bạn có thể chuyển cho cả hai phương thức là Boolean

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
1. Khi nó được đặt thành
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
2, các giá trị của ô được trả về, thay vì đối tượng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3:

>>>

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
0

Bạn sẽ nhận thấy rằng trong ví dụ đầu tiên, khi lặp qua các hàng bằng cách sử dụng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1, bạn sẽ nhận được một phần tử
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi hàng được chọn. Trong khi khi sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 và lặp qua các cột, bạn sẽ nhận được một
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 mỗi cột thay thế.

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
1

Một đối số bổ sung bạn có thể chuyển cho cả hai phương thức là Boolean

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
1. Khi nó được đặt thành
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
2, các giá trị của ô được trả về, thay vì đối tượng
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
3:

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
2

Nếu bạn muốn lặp lại toàn bộ tập dữ liệu, thì bạn cũng có thể sử dụng trực tiếp các thuộc tính

>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
4 hoặc
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=1,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id', 'product_id', ...)
5, là các phím tắt để sử dụng
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
1 và
>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
2 mà không có bất kỳ đối số nào:

Các phím tắt này rất hữu ích khi bạn lặp đi lặp lại toàn bộ bộ dữ liệu.

Thao tác dữ liệu bằng cách sử dụng các cấu trúc dữ liệu mặc định của Python

Bây giờ bạn đã biết những điều cơ bản của việc lặp lại thông qua dữ liệu trong sổ làm việc, hãy để Lôi nhìn vào các cách thông minh để chuyển đổi dữ liệu đó thành các cấu trúc Python.

Như bạn đã thấy trước đó, kết quả từ tất cả các lần lặp lại dưới dạng

>>> for row in sheet.rows:
...     print(row)
(, , 
...
, , )
0. Tuy nhiên, vì
>>> for value in sheet.iter_rows(min_row=1,
...                              max_row=2,
...                              min_col=1,
...                              max_col=3,
...                              values_only=True):
...     print(value)
('marketplace', 'customer_id', 'review_id')
('US', 3653882, 'R3O9SGZBVQBV76')
9 không gì khác hơn là
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
00 bất biến, bạn có thể dễ dàng truy cập dữ liệu của nó và biến nó thành các cấu trúc khác.

Ví dụ: giả sử bạn muốn trích xuất thông tin sản phẩm từ bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 và vào một từ điển trong đó mỗi khóa là ID sản phẩm.

Một cách đơn giản để làm điều này là lặp lại trên tất cả các hàng, chọn các cột bạn biết có liên quan đến thông tin sản phẩm và sau đó lưu trữ nó trong một từ điển. Hãy để mã hóa này ra!

  1. Trước hết, hãy xem các tiêu đề và xem thông tin bạn quan tâm nhất:
  2. Mã này trả về một danh sách tất cả các tên cột bạn có trong bảng tính. Để bắt đầu, hãy lấy các cột có tên:

May mắn cho bạn, các cột bạn cần đều nằm cạnh nhau để bạn có thể sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
06 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
07 để dễ dàng lấy dữ liệu bạn muốn:Product has:

  • Tốt đẹp! Bây giờ bạn đã biết cách lấy tất cả thông tin sản phẩm quan trọng bạn cần, hãy để Lôi đặt dữ liệu đó vào một từ điển:
  • Mã trên trả về một JSON tương tự như thế này:
  • Ở đây bạn có thể thấy rằng đầu ra chỉ được cắt thành 2 sản phẩm, nhưng nếu bạn chạy tập lệnh như vậy, thì bạn nên nhận 98 sản phẩm.
  • Chuyển đổi dữ liệu thành các lớp Python

Để hoàn thiện phần đọc của hướng dẫn này, hãy để Lướt vào các lớp Python và xem cách bạn có thể cải thiện ví dụ trên và cấu trúc tốt hơn dữ liệu.Review has a few more fields:

  • Tốt đẹp! Bây giờ bạn đã biết cách lấy tất cả thông tin sản phẩm quan trọng bạn cần, hãy để Lôi đặt dữ liệu đó vào một từ điển:
  • Mã trên trả về một JSON tương tự như thế này:
  • Ở đây bạn có thể thấy rằng đầu ra chỉ được cắt thành 2 sản phẩm, nhưng nếu bạn chạy tập lệnh như vậy, thì bạn nên nhận 98 sản phẩm.
  • Chuyển đổi dữ liệu thành các lớp Python
  • Để hoàn thiện phần đọc của hướng dẫn này, hãy để Lướt vào các lớp Python và xem cách bạn có thể cải thiện ví dụ trên và cấu trúc tốt hơn dữ liệu.
  • Đối với điều này, bạn sẽ sử dụng các lớp dữ liệu Python mới có sẵn từ Python 3.7. Nếu bạn sử dụng một phiên bản Python cũ hơn, thì bạn có thể sử dụng các lớp mặc định thay thế.

Vì vậy, những điều đầu tiên trước tiên, hãy để Lôi nhìn vào dữ liệu bạn có và quyết định những gì bạn muốn lưu trữ và cách bạn muốn lưu trữ nó.

Như bạn đã thấy ngay từ đầu, dữ liệu này đến từ Amazon và nó là một danh sách các đánh giá sản phẩm. Bạn có thể kiểm tra danh sách tất cả các cột và ý nghĩa của chúng trên Amazon.

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
3

Có hai yếu tố quan trọng mà bạn có thể trích xuất từ ​​dữ liệu có sẵn:

Các sản phẩm

>>>

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
4

Đánh giá

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
5

Một sản phẩm có:

TÔI

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
6

Tiêu đề

Cha mẹ

Loại

Đánh giá có thêm một vài lĩnh vực:

ID khách hàng

Trước khi bạn bắt đầu tạo bảng tính rất phức tạp, hãy xem nhanh một ví dụ về cách nối dữ liệu vào bảng tính hiện có.

Quay lại bảng tính ví dụ đầu tiên mà bạn đã tạo (

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
6) và thử mở và nối thêm một số dữ liệu vào nó, như thế này:

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
8

Et voilà, nếu bạn mở bảng tính

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
11 mới, bạn sẽ thấy sự thay đổi sau:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Lưu ý văn bản bổ sung;) trên ô

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
12.

Viết bảng tính excel bằng openpyxl

Có rất nhiều thứ khác nhau bạn có thể viết vào bảng tính, từ các giá trị văn bản hoặc số đơn giản đến các công thức phức tạp, biểu đồ hoặc thậm chí hình ảnh.

Hãy để bắt đầu tạo ra một số bảng tính!

Tạo một bảng tính đơn giản

Trước đây, bạn đã thấy một ví dụ rất nhanh về cách viết ra Hello Hello World! thành một bảng tính, vì vậy bạn có thể bắt đầu với điều đó:

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
9

Các dòng nổi bật trong mã trên là những dòng quan trọng nhất để viết. Trong mã, bạn có thể thấy rằng:

  • Dòng 5 chỉ cho bạn cách tạo một sổ làm việc trống mới. shows you how to create a new empty workbook.
  • Dòng 8 và 9 chỉ cho bạn cách thêm dữ liệu vào các ô cụ thể. show you how to add data to specific cells.
  • Dòng 11 chỉ cho bạn cách lưu bảng tính khi bạn hoàn thành. shows you how to save the spreadsheet when you’re done.

Mặc dù những dòng trên có thể đơn giản, nhưng nó vẫn tốt để biết rõ về chúng khi mọi thứ trở nên phức tạp hơn một chút.

Một điều bạn có thể làm để giúp với các ví dụ mã sắp tới là thêm phương thức sau vào tệp hoặc bảng điều khiển Python của bạn:

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
0

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

Hoạt động bảng tính cơ bản

Trước khi bạn tham gia vào các chủ đề nâng cao hơn, nó rất tốt cho bạn để biết cách quản lý các yếu tố đơn giản nhất của bảng tính.

Thêm và cập nhật các giá trị ô

Bạn đã học cách thêm giá trị vào bảng tính như thế này:

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
1

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
2

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

Hoạt động bảng tính cơ bản

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
3

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

Hoạt động bảng tính cơ bản

Trước khi bạn tham gia vào các chủ đề nâng cao hơn, nó rất tốt cho bạn để biết cách quản lý các yếu tố đơn giản nhất của bảng tính.

  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    18
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    19
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    20
  • Thêm và cập nhật các giá trị ô

Bạn đã học cách thêm giá trị vào bảng tính như thế này:

  1. >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    22
  2. >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    23

Có một cách khác mà bạn có thể làm điều này, trước tiên bằng cách chọn một ô và sau đó thay đổi giá trị của nó:

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
4

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.before the
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
22 parameter.

Hoạt động bảng tính cơ bảnbefore the existing first row.

Trước khi bạn tham gia vào các chủ đề nâng cao hơn, nó rất tốt cho bạn để biết cách quản lý các yếu tố đơn giản nhất của bảng tính.before the already existing second column (

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
28).

Thêm và cập nhật các giá trị ôstarting from the index passed as an argument.

Bạn đã học cách thêm giá trị vào bảng tính như thế này:

Có một cách khác mà bạn có thể làm điều này, trước tiên bằng cách chọn một ô và sau đó thay đổi giá trị của nó:

Giá trị mới chỉ được lưu trữ vào bảng tính sau khi bạn gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
14.

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 tạo ra một ô khi thêm một giá trị, nếu ô đó không tồn tại trước đó:

Như bạn có thể thấy, khi cố gắng thêm giá trị vào ô

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
16, bạn sẽ kết thúc với một tuple với 10 hàng, chỉ để bạn có thể có giá trị kiểm tra đó.

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
5

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
6

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
7

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
8

Nó giúp việc in tất cả các giá trị bảng tính của bạn dễ dàng hơn bằng cách gọi

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
13.

Hoạt động bảng tính cơ bản

Trước khi bạn tham gia vào các chủ đề nâng cao hơn, nó rất tốt cho bạn để biết cách quản lý các yếu tố đơn giản nhất của bảng tính.

Thêm và cập nhật các giá trị ô

Bạn đã học cách thêm giá trị vào bảng tính như thế này:

>>>

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
9

Nếu bạn mở bảng tính

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
40 trong trình soạn thảo bảng tính yêu thích của bạn, bạn sẽ nhận thấy rằng hàng
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
41 và cột
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
42 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
28 bị đóng băng và luôn có thể nhìn thấy bất kể bạn điều hướng ở đâu trong bảng tính.

Tính năng này rất tiện dụng, ví dụ, để giữ các tiêu đề trong tầm nhìn, vì vậy bạn luôn biết những gì mỗi cột đại diện.

Đây là cách mà nó trông như thế nào trong trình soạn thảo:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Lưu ý cách bạn ở cuối bảng tính, tuy nhiên, bạn có thể thấy cả hàng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
41 và cột
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
42 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
28.

Thêm bộ lọc

Bạn có thể sử dụng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 để thêm các bộ lọc và sắp xếp vào bảng tính của bạn. Tuy nhiên, khi bạn mở bảng tính, dữ liệu won sẽ được sắp xếp lại theo các loại và bộ lọc này.

Lúc đầu, điều này có vẻ như là một tính năng khá vô dụng, nhưng khi bạn lập trình tạo ra một bảng tính sẽ được gửi và sử dụng bởi người khác, thì nó vẫn rất tốt để tạo ra các bộ lọc và cho phép mọi người sử dụng nó sau đó.

Mã dưới đây là một ví dụ về cách bạn sẽ thêm một số bộ lọc vào bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 hiện tại của chúng tôi:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
0

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

Thêm công thức

Công thức (hoặc công thức) là một trong những tính năng mạnh mẽ nhất của bảng tính. (or formulae) are one of the most powerful features of spreadsheets.

Chúng cung cấp cho bạn sức mạnh để áp dụng các phương trình toán học cụ thể cho một loạt các ô. Sử dụng các công thức với

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 đơn giản như chỉnh sửa giá trị của một ô.

Bạn có thể thấy danh sách các công thức được hỗ trợ bởi

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
1

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
2

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
3

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

Thêm công thức

Công thức (hoặc công thức) là một trong những tính năng mạnh mẽ nhất của bảng tính.

Chúng cung cấp cho bạn sức mạnh để áp dụng các phương trình toán học cụ thể cho một loạt các ô. Sử dụng các công thức với

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 đơn giản như chỉnh sửa giá trị của một ô.

Bạn có thể thấy danh sách các công thức được hỗ trợ bởi

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0:

Hãy để thêm một số công thức vào bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 của chúng tôi.

Bắt đầu với một cái gì đó dễ dàng, hãy để kiểm tra xếp hạng sao trung bình cho 99 đánh giá trong bảng tính:

>>>

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Thêm công thức

  • Công thức (hoặc công thức) là một trong những tính năng mạnh mẽ nhất của bảng tính. with the text in bold
  • Chúng cung cấp cho bạn sức mạnh để áp dụng các phương trình toán học cụ thể cho một loạt các ô. Sử dụng các công thức với
    >>> for row in sheet.iter_rows(min_row=1,
    ...                            max_row=2,
    ...                            min_col=1,
    ...                            max_col=3):
    ...     print(row)
    (, , )
    (, , )
    
    
    >>> for column in sheet.iter_cols(min_row=1,
    ...                               max_row=2,
    ...                               min_col=1,
    ...                               max_col=3):
    ...     print(column)
    (, )
    (, )
    (, )
    
    0 đơn giản như chỉnh sửa giá trị của một ô.
    with the text in red and bigger font size
  • Bạn có thể thấy danh sách các công thức được hỗ trợ bởi
    >>> for row in sheet.iter_rows(min_row=1,
    ...                            max_row=2,
    ...                            min_col=1,
    ...                            max_col=3):
    ...     print(row)
    (, , )
    (, , )
    
    
    >>> for column in sheet.iter_cols(min_row=1,
    ...                               max_row=2,
    ...                               min_col=1,
    ...                               max_col=3):
    ...     print(column)
    (, )
    (, )
    (, )
    
    0:
    with the text centered
  • Hãy để thêm một số công thức vào bảng tính
    >>> for row in sheet.iter_rows(min_row=1,
    ...                            max_row=2,
    ...                            min_col=1,
    ...                            max_col=3):
    ...     print(row)
    (, , )
    (, , )
    
    
    >>> for column in sheet.iter_cols(min_row=1,
    ...                               max_row=2,
    ...                               min_col=1,
    ...                               max_col=3):
    ...     print(column)
    (, )
    (, )
    (, )
    
    7 của chúng tôi.
    with a square border around the text

Bắt đầu với một cái gì đó dễ dàng, hãy để kiểm tra xếp hạng sao trung bình cho 99 đánh giá trong bảng tính:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
5

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
6

Bây giờ bạn sẽ thấy các bộ lọc được tạo khi mở bảng tính trong trình soạn thảo của bạn:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bạn không phải sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
49 nếu bạn biết chính xác phần nào của bảng tính bạn muốn áp dụng các bộ lọc.

Thêm công thức

Công thức (hoặc công thức) là một trong những tính năng mạnh mẽ nhất của bảng tính.

Chúng cung cấp cho bạn sức mạnh để áp dụng các phương trình toán học cụ thể cho một loạt các ô. Sử dụng các công thức với

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 đơn giản như chỉnh sửa giá trị của một ô.

Bạn có thể thấy danh sách các công thức được hỗ trợ bởi

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0:conditional formatting allows you to specify a list of styles to apply to a cell (or cell range) according to specific conditions.

Hãy để thêm một số công thức vào bảng tính

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
7 của chúng tôi.

Không có gì khó chịu, hãy để Lừa chọn bảng tính yêu thích của chúng tôi.

Bạn có thể bắt đầu bằng cách thêm một cái đơn giản thêm nền màu đỏ cho tất cả các đánh giá với ít hơn 3 sao:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
7

Bây giờ bạn sẽ thấy tất cả các đánh giá với xếp hạng sao dưới 3 được đánh dấu bằng nền màu đỏ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã thông minh, những điều duy nhất mới ở đây là các đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66:

  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    65 khá giống với
    >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    62, mà bạn đã thấy ở trên và nó được sử dụng để tổng hợp nhiều kiểu như phông chữ, biên giới, căn chỉnh, v.v.
    is quite similar to
    >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    62, which you already saw above, and it’s used to aggregate multiple styles such as fonts, borders, alignment, and so forth.
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    66 chịu trách nhiệm chọn các ô và áp dụng các kiểu nếu các ô khớp với logic quy tắc.
    is responsible for selecting the cells and applying the styles if the cells match the rule’s logic.

Sử dụng đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66, bạn có thể tạo nhiều kịch bản định dạng có điều kiện.

Tuy nhiên, để có tính đơn giản, gói

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 cung cấp 3 định dạng tích hợp giúp tạo ra một vài mẫu định dạng có điều kiện phổ biến. Những bản dựng này là:

  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    72
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    73
  • >>> from openpyxl import load_workbook
    >>> workbook = load_workbook(filename="sample.xlsx")
    >>> workbook.sheetnames
    ['Sheet 1']
    
    >>> sheet = workbook.active
    >>> sheet
    
    
    >>> sheet.title
    'Sheet 1'
    
    74

Colorscale cung cấp cho bạn khả năng tạo gradient màu:ColorScale gives you the ability to create color gradients:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
8

Bây giờ bạn sẽ thấy tất cả các đánh giá với xếp hạng sao dưới 3 được đánh dấu bằng nền màu đỏ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã thông minh, những điều duy nhất mới ở đây là các đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66:

>>>

>>> sheet.cell(row=10, column=6)


>>> sheet.cell(row=10, column=6).value
"G-Shock Men's Grey Sport Watch"
9

Bây giờ bạn sẽ thấy tất cả các đánh giá với xếp hạng sao dưới 3 được đánh dấu bằng nền màu đỏ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã thông minh, những điều duy nhất mới ở đây là các đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66:IconSet allows you to add an icon to the cell according to its value:

>>>

>>> sheet["A1:C2"]
((, , ),
 (, , ))
0

Bây giờ bạn sẽ thấy tất cả các đánh giá với xếp hạng sao dưới 3 được đánh dấu bằng nền màu đỏ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã thông minh, những điều duy nhất mới ở đây là các đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66:

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 khá giống với
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
62, mà bạn đã thấy ở trên và nó được sử dụng để tổng hợp nhiều kiểu như phông chữ, biên giới, căn chỉnh, v.v.DataBar allows you to create progress bars:

>>>

>>> sheet["A1:C2"]
((, , ),
 (, , ))
1

Bây giờ bạn sẽ thấy tất cả các đánh giá với xếp hạng sao dưới 3 được đánh dấu bằng nền màu đỏ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã thông minh, những điều duy nhất mới ở đây là các đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66:

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
65 khá giống với
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
62, mà bạn đã thấy ở trên và nó được sử dụng để tổng hợp nhiều kiểu như phông chữ, biên giới, căn chỉnh, v.v.

>>> from openpyxl import load_workbook >>> workbook = load_workbook(filename="sample.xlsx") >>> workbook.sheetnames ['Sheet 1'] >>> sheet = workbook.active >>> sheet >>> sheet.title 'Sheet 1' 66 chịu trách nhiệm chọn các ô và áp dụng các kiểu nếu các ô khớp với logic quy tắc.

Sử dụng đối tượng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
66, bạn có thể tạo nhiều kịch bản định dạng có điều kiện.

Tuy nhiên, để có tính đơn giản, gói

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 cung cấp 3 định dạng tích hợp giúp tạo ra một vài mẫu định dạng có điều kiện phổ biến. Những bản dựng này là:

Colorscale cung cấp cho bạn khả năng tạo gradient màu:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Bây giờ bạn sẽ thấy một gradient màu trên cột

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
75, từ màu đỏ sang màu xanh lá cây, theo xếp hạng sao:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
2

Bạn cũng có thể thêm màu thứ ba và thay vào đó tạo hai gradient: thay vào đó:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Lần này, bạn sẽ nhận thấy rằng xếp hạng sao từ 1 đến 3 có độ dốc từ màu đỏ đến vàng và xếp hạng sao trong khoảng từ 3 đến 5 có độ dốc từ vàng sang màu xanh lá cây:

Biểu tượng cho phép bạn thêm một biểu tượng vào ô theo giá trị của nó:

Bạn sẽ thấy một mũi tên màu bên cạnh xếp hạng sao. Mũi tên này có màu đỏ và chỉ ra khi giá trị của ô là 1 và, khi xếp hạng trở nên tốt hơn, mũi tên bắt đầu hướng lên và trở thành màu xanh lá cây:

Gói

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 có danh sách đầy đủ các biểu tượng khác mà bạn có thể sử dụng, bên cạnh mũi tên.

Cuối cùng, dữ liệu cho phép bạn tạo thanh tiến trình:

Bây giờ bạn sẽ thấy một thanh tiến trình màu xanh

Như bạn có thể thấy, có rất nhiều điều thú vị bạn có thể làm với định dạng có điều kiện.

Ở đây, bạn chỉ thấy một vài ví dụ về những gì bạn có thể đạt được với nó, nhưng hãy kiểm tra tài liệu

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 để xem một loạt các tùy chọn khác.

>>> sheet["A1:C2"]
((, , ),
 (, , ))
3

Thêm hình ảnhbar chart that displays the total number of sales per product:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
4

Mặc dù hình ảnh không phải là thứ mà bạn thường thấy trong bảng tính, nhưng nó rất tuyệt khi có thể thêm chúng. Có lẽ bạn có thể sử dụng nó cho mục đích xây dựng thương hiệu hoặc để làm cho bảng tính cá nhân hơn.online product sales online and in-store product sales:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Để có thể tải hình ảnh vào bảng tính bằng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0, bạn sẽ phải cài đặt
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
79:

Ngoài ra, bạn cũng sẽ cần một hình ảnh. Ví dụ này, bạn có thể lấy logo Python thực sự bên dưới và chuyển đổi nó từ

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
80 sang
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
81 bằng bộ chuyển đổi trực tuyến như CloudConvert.com, hãy lưu tệp cuối cùng là
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
82 và sao chép nó vào thư mục gốc nơi bạn đang chạy ví dụ của mình :line chart instead, changing the data a bit:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
5

Sau đó, đây là mã bạn cần nhập hình ảnh đó vào bảng tính

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
83:

Bạn có một hình ảnh trên bảng tính của bạn! Đây là:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
6

Ở đây, kết quả của đoạn mã trên:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Một điều cần lưu ý ở đây là thực tế là bạn sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
90 khi thêm dữ liệu. Đối số này làm cho hàng biểu đồ biểu đồ theo từng hàng thay vì cột theo cột.

Trong dữ liệu mẫu của bạn, bạn thấy rằng mỗi sản phẩm có một hàng với 12 giá trị (1 cột mỗi tháng). Đó là lý do tại sao bạn sử dụng

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
91. Nếu bạn không vượt qua đối số đó, theo mặc định, biểu đồ sẽ cố gắng vẽ theo cột và bạn sẽ có được so sánh hàng tháng về doanh số.

Một điểm khác biệt khác có liên quan đến thay đổi đối số trên là thực tế là

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
88 của chúng tôi bây giờ bắt đầu từ cột đầu tiên,
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
93, thay vì cái thứ hai. Thay đổi này là cần thiết bởi vì biểu đồ hiện mong đợi cột đầu tiên có các tiêu đề.

Có một vài điều khác bạn cũng có thể thay đổi về phong cách của biểu đồ. Ví dụ: bạn có thể thêm các danh mục cụ thể vào biểu đồ:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
7

Thêm đoạn mã này trước khi lưu sổ làm việc và bạn sẽ thấy tên tháng xuất hiện thay vì số:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Mã khôn ngoan, đây là một thay đổi tối thiểu. Nhưng về khả năng đọc của bảng tính, điều này giúp ai đó dễ dàng mở bảng tính và hiểu biểu đồ ngay lập tức.

Một điều khác bạn có thể làm để cải thiện khả năng đọc biểu đồ là thêm một trục. Bạn có thể làm điều đó bằng cách sử dụng các thuộc tính

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
94 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
95:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
8

Điều này sẽ tạo ra một bảng tính như dưới đây:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Như bạn có thể thấy, những thay đổi nhỏ như ở trên làm cho việc đọc biểu đồ của bạn một nhiệm vụ dễ dàng và nhanh chóng hơn nhiều.

Ngoài ra còn có một cách để tạo kiểu biểu đồ của bạn bằng cách sử dụng thuộc tính

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
96 mặc định của Excel. Trong trường hợp này, bạn phải chọn một số từ 1 đến 48. Tùy thuộc vào sự lựa chọn của bạn, màu sắc của biểu đồ của bạn cũng thay đổi:

>>> sheet["A1:C2"]
((, , ),
 (, , ))
9

Với phong cách được chọn ở trên, tất cả các dòng có một số màu cam:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Không có tài liệu rõ ràng về mỗi số kiểu trông như thế nào, nhưng bảng tính này có một vài ví dụ về các kiểu có sẵn.

Ở đây, mã đầy đủ được sử dụng để tạo biểu đồ dòng với các danh mục, tiêu đề trục và phong cách:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
0

Có rất nhiều loại biểu đồ và tùy chỉnh bạn có thể áp dụng, vì vậy hãy chắc chắn kiểm tra tài liệu gói về điều này nếu bạn cần một số định dạng cụ thể.

Chuyển đổi các lớp Python sang bảng tính Excel

Bạn đã thấy cách chuyển đổi dữ liệu bảng tính Excel thành các lớp Python, nhưng bây giờ hãy để Lừa làm ngược lại.

Hãy để tưởng tượng bạn có một cơ sở dữ liệu và đang sử dụng một số ánh xạ liên quan đến đối tượng (ORM) để ánh xạ các đối tượng DB vào các lớp Python. Bây giờ, bạn muốn xuất những đối tượng tương tự vào bảng tính.

Hãy giả sử các lớp dữ liệu sau để thể hiện dữ liệu đến từ cơ sở dữ liệu của bạn về doanh số bán sản phẩm:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
1

Bây giờ, hãy để tạo ra một số dữ liệu ngẫu nhiên, giả sử các lớp trên được lưu trữ trong tệp

>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

>>> sheet = workbook.active
>>> sheet


>>> sheet.title
'Sheet 1'
97:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
2

Bằng cách chạy đoạn mã này, bạn sẽ nhận được 5 sản phẩm với 5 tháng bán hàng với số lượng bán hàng ngẫu nhiên cho mỗi tháng.

Bây giờ, để chuyển đổi nó thành một bảng tính, bạn cần lặp lại dữ liệu và nối nó vào bảng tính:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
3

Đó là nó. Điều đó sẽ cho phép bạn tạo một bảng tính với một số dữ liệu đến từ cơ sở dữ liệu của bạn.

Tuy nhiên, tại sao không sử dụng một số kiến ​​thức tuyệt vời mà bạn có được gần đây để thêm biểu đồ để hiển thị dữ liệu đó trực quan hơn?

Được rồi, sau đó bạn có thể làm điều gì đó như thế này:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4

Bây giờ chúng ta nói chuyện! Ở đây, một bảng tính được tạo từ các đối tượng cơ sở dữ liệu và với biểu đồ và mọi thứ:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Đó là một cách tuyệt vời để bạn kết thúc kiến ​​thức mới về biểu đồ!

Tiền thưởng: Làm việc với gấu trúc

Mặc dù bạn có thể sử dụng gấu trúc để xử lý các tệp Excel, nhưng có một vài điều mà bạn có thể hoàn thành bằng gấu trúc hoặc bạn nên sử dụng trực tiếp

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0.

Ví dụ: một số lợi thế của việc sử dụng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 là khả năng dễ dàng tùy chỉnh bảng tính của bạn với các kiểu, định dạng có điều kiện, v.v.

Nhưng đoán xem, bạn không phải lo lắng về việc chọn. Trên thực tế,

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 có hỗ trợ cho cả việc chuyển đổi dữ liệu từ DataFrame của Pandas thành sổ làm việc hoặc ngược lại, chuyển đổi sổ làm việc
>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 thành một khung dữ liệu gấu trúc.

Trước tiên, hãy nhớ cài đặt gói

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
02:

Sau đó, hãy để Lôi tạo một DataFrame mẫu:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
5

Bây giờ bạn có một số dữ liệu, bạn có thể sử dụng

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
03 để chuyển đổi nó từ DataFrame thành một bảng tính:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
6

Bạn sẽ thấy một bảng tính trông như thế này:

Hướng dẫn how to make a spreadsheet with python - cách tạo bảng tính với python

Nếu bạn muốn thêm chỉ mục DataFrame, bạn có thể thay đổi

>>> sheet["A1"]


>>> sheet["A1"].value
'marketplace'

>>> sheet["F10"].value
"G-Shock Men's Grey Sport Watch"
04 và nó sẽ thêm mỗi chỉ mục hàng của bạn vào bảng tính của bạn.

Mặt khác, nếu bạn muốn chuyển đổi bảng tính thành DataFrame, bạn cũng có thể làm điều đó theo cách rất đơn giản như vậy:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
7

Ngoài ra, nếu bạn muốn thêm các tiêu đề chính xác và sử dụng ID đánh giá làm chỉ mục, thì bạn cũng có thể làm điều đó như thế này thay vào đó: thay vào đó:

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
8

Sử dụng các chỉ mục và cột cho phép bạn truy cập dữ liệu từ DataFrame của mình một cách dễ dàng:

>>>

>>> # Get all cells from column A
>>> sheet["A"]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of columns
>>> sheet["A:B"]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

>>> # Get all cells from row 5
>>> sheet[5]
(,
 ,
 ...
 ,
 )

>>> # Get all cells for a range of rows
>>> sheet[5:6]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
9

Ở đó, bạn có muốn sử dụng

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 để trang bị bộ dữ liệu gấu trúc của bạn hoặc sử dụng gấu trúc để thực hiện một số đại số khó tính, bây giờ bạn biết cách chuyển đổi giữa cả hai gói.

Sự kết luận

Phew, sau thời gian dài đọc đó, bây giờ bạn biết cách làm việc với bảng tính trong Python! Bạn có thể dựa vào

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0, người bạn đồng hành đáng tin cậy của bạn, để:

  • Trích xuất thông tin có giá trị từ bảng tính theo cách Pythonic
  • Tạo bảng tính của riêng bạn, bất kể mức độ phức tạp
  • Thêm các tính năng thú vị như định dạng có điều kiện hoặc biểu đồ vào bảng tính của bạn

Có một vài điều khác bạn có thể làm với

>>> for row in sheet.iter_rows(min_row=1,
...                            max_row=2,
...                            min_col=1,
...                            max_col=3):
...     print(row)
(, , )
(, , )


>>> for column in sheet.iter_cols(min_row=1,
...                               max_row=2,
...                               min_col=1,
...                               max_col=3):
...     print(column)
(, )
(, )
(, )
0 có thể không được đề cập trong hướng dẫn này, nhưng bạn luôn có thể kiểm tra trang web tài liệu chính thức của gói để tìm hiểu thêm về nó. Bạn thậm chí có thể mạo hiểm kiểm tra mã nguồn của nó và cải thiện gói hơn nữa.

Vui lòng để lại bất kỳ bình luận nào dưới đây nếu bạn có bất kỳ câu hỏi nào, hoặc nếu có bất kỳ phần nào mà bạn thích nghe thêm.

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Chỉnh sửa bảng tính Excel trong Python với OpenPyXL This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Editing Excel Spreadsheets in Python With openpyxl

Làm thế nào để tôi viết cho một bảng tính excel trong Python?

Python viết tệp excel..
Viết tệp Excel bằng mô -đun XLSXWRITRITER. Chúng ta cũng có thể viết tệp Excel bằng mô -đun XLSXWriter. ....
Viết tệp Excel bằng mô -đun OpenPyXL. Nó được định nghĩa là một gói thường được khuyến nghị nếu bạn muốn đọc và viết. ....
Viết dữ liệu cho các tệp Excel với XLWT. ....
Viết tệp với PyExcel ..

Python có bảng tính không?

Bảng tính số 1: Mito Mito là một bảng tính trong Python.Nói một cách đơn giản, nếu bạn có thể chỉnh sửa tệp Excel, bây giờ bạn có thể viết mã.Điều đó có nghĩa là chúng ta có thể có sự đơn giản của một bảng tính như Excel với sức mạnh của Python.Mito is a spreadsheet within Python. To put it simply, if you can edit an Excel file, you can now write code. That means that we can have the simplicity of a spreadsheet like Excel with the power of Python.

Tôi có thể lập trình Excel với Python không?

Python cho Excel và Google Sheets XLWings là nguồn mở và miễn phí, được cài đặt sẵn với Anaconda và Winpython, và hoạt động trên Windows và MacOS.Tự động hóa Excel thông qua các tập lệnh Python hoặc Jupyter Notebook, gọi Python từ Excel qua macro và viết các chức năng do người dùng xác định (UDF chỉ có Windows).xlwings is open source and free, comes preinstalled with Anaconda and WinPython, and works on Windows and macOS. Automate Excel via Python scripts or Jupyter notebooks, call Python from Excel via macros, and write user-defined functions (UDFs are Windows-only).

Python có thể tự động hóa Excel không?

Nhìn chung, Python Excel Automation là một quá trình sáng tạo mà bạn có thể sử dụng để tạo các báo cáo trực quan về Python giống như cách bạn làm trên Excel một cách liền mạch.Các tổ chức có thể tận dụng tự động hóa Python Excel để tận dụng các nhiệm vụ kinh doanh của họ theo nhu cầu của họ.Python Excel Automation is an innovative process that you can use to create visual reports on Python just the same way as you would on Excel seamlessly. Organizations can leverage Python Excel Automation to leverage their business tasks according to their needs.