Tôi có thể sử dụng dữ liệu Excel trong Python không?

Bảng tính Excel là một trong những thứ bạn có thể phải xử lý vào một lúc nào đó. Có thể là do sếp của bạn yêu thích chúng hoặc vì hoạt động 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à đó là khi biết _______ 4 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 với các bộ dữ liệu lớn mà không cần bất kỳ nền tảng kỹ thuật nào trước đó. Đó là lý do tại sao chúng vẫn được sử dụng phổ biến cho đến 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 một cách 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 kiểu, biểu đồ, v.v.

Bài viết này được viết cho các nhà phát triển trung cấp, những người có kiến ​​thức khá tốt về cấu trúc dữ liệu Python, chẳng hạn như dicts và list, nhưng cũng cảm thấy thoải mái với OOP và các chủ đề ở cấp độ trung cấp khác

Tải xuống tập dữ liệu. Nhấp vào đây để tải xuống tập dữ liệu cho bài tập openpyxl mà bạn sẽ theo dõi trong hướng dẫn này

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 xuyên phải chuyển đổi bảng tính Excel thành một số dạng lập trình có thể sử dụng được hơn, thì hướng dẫn này rất phù hợp với bạn. Hãy nhảy vào đoàn lữ hà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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4

Loại bỏ các quảng cáo

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

Trước tiên, khi nào bạn cần sử dụng một gói 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 trong tình huống thực tế?

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 đắt tiền và tuyệt vời

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

Bây giờ, để nhập dữ liệu, bạn sẽ phải lặp lại từng hàng của 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 đỡ?

Điều đó sẽ giúp bạn kiếm thêm một miếng bánh trong bữa tiệc sinh nhật tiếp theo của công ty bạn

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 logic nghiệp vụ nào đó, nối thêm dữ liệu vào đó

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

Dữ liệu này nằm 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 từng hàng, tìm nạp tổng số tiền đã chi tiêu từ Cơ sở dữ liệu rồi ghi lại vào bảng tính

Không thành vấn đề đối với

>>> # 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

Tìm hiểu một số thuật ngữ Excel cơ bản

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

Bảng tính giải thích thuật ngữ hoặc Bảng tính sổ làm việc là tệp chính bạn đang tạo hoặc làm việc với. Worksheet hay SheetA Sheet được 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 Sheet. CộtA Cột là một đường thẳng đứng và được biểu thị bằng một chữ cái viết hoa. MỘT. HàngA Hàng là một đường nằm ngang và được biểu thị bằng một số. 1. CellA Ô là sự kết hợp của Cột và Hàng, được biểu thị bằng cả chữ in hoa và số. A1

Bắt đầu với openpyxl

Bây giờ bạn đã biết về lợi ích của một công cụ 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4, hãy bắt tay vào việc 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

$ pip install openpyxl

Sau khi 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")

Đoạn 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)
(, )
(, )
(, )
0 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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Tuyệt vời, bảng tính đầu tiên của bạn đã được tạo

Loại bỏ các quảng cáo

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

Hãy bắt đầu với đ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ừ cách tiếp cận đơn giản để đọc 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

Tập dữ liệu cho Hướng dẫn này

Trước khi đi sâu vào một số ví dụ về mã, bạn nên tải xuống tập dữ liệu mẫu này và lưu trữ ở đâ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)
(, )
(, )
(, )
1

Tải xuống tập dữ liệu. Nhấp vào đây để tải xuống tập dữ liệu cho bài tập openpyxl mà bạn sẽ theo dõi trong hướng dẫn này

Đây là một trong những bộ dữ liệu bạn sẽ sử dụng trong suốt hướng dẫn này và đó là một bảng tính với một mẫu dữ liệu thực từ các bài đá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 rất nhỏ so với những gì Amazon cung cấp, nhưng đối với mục đích thử nghiệm, nó là quá đủ

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 đoạn 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)
(, )
(, )
(, )
1 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)
(, )
(, )
(, )
3, sau đó 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)
(, )
(, )
(, )
4 để xem tất cả các trang tính mà bạn có sẵn để làm việc. Sau đó,
>>> 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)
(, )
(, )
(, )
5 chọn trang tính có sẵn đầu tiên và trong trường hợp này, bạn có thể thấy rằng nó tự động chọn Trang tính 1. Sử dụng các phương pháp này là cách mở bảng tính mặc đị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 lấy 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"

Để trả về giá trị thực của một ô, bạn cần thực hiệ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. Nếu không, bạn sẽ nhận được đối tượng chí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ạn cũng có thể sử dụng phương phá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)
(, )
(, )
(, )
8 để truy xuất một ô bằng cách sử dụng ký hiệu chỉ mục. Hãy nhớ thêm
>>> 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 để nhận giá trị thực chứ không phải đối tượ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

>>>

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


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

Bạn có thể thấy rằng kết quả trả về là như nhau, bất kể bạn quyết định chọn 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')
1

Ghi chú. Mặc dù trong Python, bạn đã quen với ký hiệu không có chỉ mục, nhưng với bảng tính, bạn sẽ luôn sử dụng ký hiệu có một chỉ mục trong đó hàng hoặc cột đầu tiên luôn có chỉ mục

>>> 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

Trên đây chỉ cho bạn cách nhanh nhất để mở bảng tính. Tuy nhiên, bạn có thể chuyển các tham số bổ sung để thay đổi cách tải bảng tính

Tùy chọn đọc bổ sung

Có một vài đối số mà bạn có thể chuyển đế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)
(, )
(, )
(, )
3 để thay đổi cách tải bảng tính. Những cái quan trọng nhất là hai Booleans sau

  1. read_only tải bảng tính ở chế độ chỉ đọc cho phép bạn mở các tệp Excel rất lớn
  2. data_only bỏ qua việc tải công thức và thay vào đó chỉ tải các giá trị kết quả

Loại bỏ các quảng cáo

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

Bây giờ bạn đã học được những kiến ​​thức cơ bản về cách tải bảng tính, đã đến lúc bạn chuyển sang phần thú vị. lặp đi 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ẽ tìm hiểu tất cả các cách khác nhau mà bạn có thể lặp lại dữ liệu, cũng như cách chuyển đổi dữ liệu đó thành thứ gì đó có thể sử dụng được và quan trọng hơn là cách thực hiện theo cách của Pythonic

Lặp lại thông qua dữ liệu

Có một số cách khác nhau để bạn có thể lặp lại dữ liệu tùy theo nhu cầu của mình

Bạn có thể cắt dữ liệu bằng cách kết hợp các cột và hàng

>>>

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

Bạn có thể nhận phạm vi hàng hoặc cột

>>>

>>> # 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))

Bạn sẽ nhận thấy rằng tất cả các ví dụ trên đều trả về 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')
4. Nếu bạn muốn làm mới bộ nhớ của mình về cách xử lý
>>> 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')
5 trong Python, hãy xem bài viết trên

Ngoài ra còn có nhiều cách sử dụng trình tạo Python thông thường để xem qua dữ liệu. Các phương pháp chính bạn có thể sử dụng để đạt được điều này là

  • >>> 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')
    
    6
  • >>> 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

Cả hai phương pháp có thể nhận được các đối số 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')
    
    8
  • >>> 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
  • >>> for row in sheet.rows:
    ..     print(row)
    (, , 
    ...
    , , )
    
    0
  • >>> for row in sheet.rows:
    ..     print(row)
    (, , 
    ...
    , , )
    
    1

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 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')
6, 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')
4 trên mỗi hàng được chọn. Trong khi khi 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')
7 và lặp qua các cột, thay vào đó, 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')
4 trên mỗi cột

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

>>> for row in sheet.rows:
..     print(row)
(, , 
...
, , )
6. Khi nó được đặt thành
>>> for row in sheet.rows:
..     print(row)
(, , 
...
, , )
7, các giá trị của ô được trả về, thay vì đối tượ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

>>>

>>> 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')

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 row in sheet.rows:
..     print(row)
(, , 
...
, , )
9 hoặc
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
00, đây là các phím tắt để 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')
6 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')
7 mà không có bất kỳ đối số nào

>>>_______ 33 _______

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

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

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

Bây giờ bạn đã biết kiến ​​thức cơ bản về việc lặp qua dữ liệu trong sổ làm việc, hãy xem các cách thông minh để chuyển đổi dữ liệu đó thành 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 có 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')
5. 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')
4 không gì khác hơn là một
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
05 bất biến, nên bạn có thể dễ dàng truy cập dữ liệu của nó và chuyển đổi 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)
(, )
(, )
(, )
1 và đưa vào từ điển trong đó mỗi khóa là ID sản phẩm

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

Trước hết, hãy xem các tiêu đề và xem thông tin nào bạn quan tâm nhất

>>>

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Mã này trả về 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

  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    07
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    08
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    09
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    10

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
11 và
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
12 để dễ dàng lấy dữ liệu mình muốn

>>>

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Đẹ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 mà bạn cần, hãy đưa dữ liệu đó vào từ điển

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Đoạn mã trên trả về một JSON tương tự như thế này

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Ở đâ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ư hiện tại thì bạn sẽ nhận được 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 đi sâu 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 dữ liệu tốt hơn

Đố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 đang sử dụng phiên bản Python cũ hơn, thì bạn có thể sử dụng phiên bản mặc định để thay thế

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

Như bạn đã thấy ngay từ đầu, dữ liệu này đến từ Amazon và đó là danh sách đá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

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

  1. Các sản phẩm
  2. Nhận xét

Một sản phẩm có

  • NHẬN DẠNG
  • Tiêu đề
  • Cha mẹ
  • Loại

Phần Đánh giá có thêm một số trường

  • NHẬN DẠNG
  • ID khách hàng
  • ngôi sao
  • Tiêu đề
  • Thân hình
  • Ngày

Bạn có thể bỏ qua một số trường đánh giá để mọi thứ đơn giản hơn một chút

Vì vậy, việc triển khai đơn giản hai lớp này có thể được viết trong một tệp riêng biệt

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Sau khi xác định các lớp dữ liệu của mình, bạn cần chuyển đổi dữ liệu từ bảng tính sang các cấu trúc mới này

Trước khi thực hiện chuyển đổi, bạn nên xem lại tiêu đề của chúng tôi và tạo ánh xạ giữa các cột và trường bạn cần

>>>

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Hãy tạo một tệp

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
14 nơi bạn có một danh sách tất cả các tên trường và vị trí cột của chúng (không được lập chỉ mục) trên bảng tính

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Bạn không nhất thiết phải lập bản đồ ở trên. Nó dễ đọc hơn khi phân tích cú pháp dữ liệu hàng, vì vậy bạn sẽ không gặp phải nhiều con số kỳ diệu nằm xung quanh

Cuối cùng, hãy xem mã cần thiết để phân tích dữ liệu bảng tính thành danh sách sản phẩm và đối tượng đánh giá

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Sau khi bạn chạy đoạn mã trên, bạn sẽ nhận được một số đầu ra như thế này

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Đó là nó. Bây giờ bạn sẽ có dữ liệu ở định dạng lớp rất đơn giản và dễ hiểu, và bạn có thể bắt đầu nghĩ đến việc lưu trữ dữ liệu này trong Cơ sở dữ liệu hoặc bất kỳ loại lưu trữ dữ liệu nào khác mà bạn muốn

Sử dụng loại chiến lược OOP này để phân tích cú pháp bảng tính giúp việc xử lý dữ liệu sau này trở nên đơn giản hơn nhiều

Loại bỏ các quảng cáo

Đang thêm dữ liệu mới

Trước khi bạn bắt đầu tạo các bảng tính rất phức tạp, hãy xem nhanh ví dụ về cách nối thêm 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 (_______8_______0) và thử mở nó và thêm một số dữ liệu vào nó, như thế này

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
16 mới, bạn sẽ thấy thay đổi sau

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Chú ý viết thêm ;) trên ô

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Viết bảng tính Excel với openpyxl

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

Hãy bắt đầu tạo 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 “Xin chào thế giới. ” vào 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'
0

Các dòng được đánh dấu trong đoạn 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
  • Dòng 8 và 9 chỉ cho bạn cách thêm dữ liệu vào các ô cụ thể
  • Dòng 11 chỉ cho bạn cách lưu bảng tính khi bạn hoàn thành

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

Ghi chú. Bạn sẽ sử dụng 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)
(, )
(, )
(, )
0 cho một số ví dụ sắp tới, vì vậy hãy giữ nó ở nơi thuận tiện

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

>>>

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

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


>>> sheet.title
'Sheet 1'
1

Việc in tất cả các giá trị bảng tính của bạn trở nên dễ dàng hơn bằng cách chỉ cần gọi

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Loại bỏ các quảng cáo

Thao tác bảng tính cơ bản

Trước khi bạn tham gia vào các chủ đề nâng cao hơn, bạn nên biết cách quản lý các thành phần đơn giản nhất của bảng tính

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

Bạn đã học cách thêm giá trị vào bảng tính 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'
2

Có một cách khác để bạn có thể thực hiện việc này, bằng cách trước tiên chọn một ô rồi thay đổi giá trị của ô đó

>>>

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

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


>>> sheet.title
'Sheet 1'
3

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

>>> # 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 tạo một ô khi thêm một giá trị, nếu ô đó không tồn tại trước đó

>>>

>>> 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ư bạn có thể thấy, khi cố gắng thêm một giá trị vào ô

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
22, bạn sẽ nhận được một bộ có 10 hàng, chỉ để bạn có thể có giá trị kiểm tra đó

Quản lý hàng và cột

Một trong những điều phổ biến nhất bạn phải làm khi thao tác với bảng tính là thêm hoặc bớt hàng và cột. Gói

>>> # 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 cho phép bạn thực hiện điều đó một cách rất đơn giản bằng cách sử dụng các phương thức

  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    24
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    25
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    26
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    27

Mỗi một trong những phương thức đó có thể nhận được hai đối số

  1. from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    28
  2. from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    29

Sử dụng lại ví dụ cơ bản về

>>> 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ủa chúng ta, hãy xem các phương thức này hoạt động như thế nào

>>>

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

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


>>> sheet.title
'Sheet 1'
5

Điều duy nhất bạn cần nhớ là khi chèn dữ liệu mới (hàng hoặc cột), việc chèn sẽ xảy ra trước tham số

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Vì vậy, nếu bạn làm

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
32, nó sẽ chèn một hàng mới trước hàng đầu tiên hiện có

Nó giống nhau cho các cột. khi bạn gọi

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
33, nó sẽ chèn một cột mới ngay trước cột thứ hai đã tồn tại (
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Tuy nhiên, khi xóa hàng hoặc cột,

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
35 sẽ xóa dữ liệu bắt đầu từ chỉ mục được truyền dưới dạng đối số

Ví dụ: khi thực hiện

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
36, nó sẽ xóa hàng
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
37 và khi thực hiện
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
38, nó sẽ xóa cột thứ ba (
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Quản lý trang tính

Quản lý trang tính cũng là một trong những điều bạn có thể cần biết, mặc dù đó có thể là thứ bạn không sử dụng thường xuyên.

Nếu bạn xem lại các ví dụ mã từ hướng dẫn này, bạn sẽ nhận thấy đoạn mã định kỳ sau

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

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


>>> sheet.title
'Sheet 1'
6

Đây là cách để chọn trang tính mặc định từ bảng tính. Tuy nhiên, nếu bạn đang mở một bảng tính có nhiều trang tính thì bạn luôn có thể chọn một trang tính cụ thể 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'
7

Bạn cũng có thể thay đổi tiêu đề trang tính rất dễ 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'
8

Nếu bạn muốn tạo hoặc xóa trang tính, thì bạn cũng có thể làm điều đó với

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
40 và
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

>>>

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

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


>>> sheet.title
'Sheet 1'
9

Một điều khác mà bạn có thể làm là tạo các bản sao của trang tính bằng cách sử dụng

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

>>>

>>> sheet["A1"]


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

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

Nếu bạn mở bảng tính của mình sau khi lưu mã ở trên, bạn sẽ nhận thấy rằng trang tính Bản sao sản phẩm là một bản sao của trang tính Sản phẩm

Cố định hàng và cột

Điều mà bạn có thể muốn làm khi làm việc với các bảng tính lớn là cố định một số hàng hoặc cột để chúng vẫn hiển thị khi bạn cuộn sang phải hoặc cuộn xuống

Đóng băng dữ liệu cho phép bạn theo dõi các hàng hoặc cột quan trọng, bất kể bạn cuộn ở đâu trong bảng tính

Một lần nữa,

>>> # 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 cũng có một cách để thực hiện điều này bằng cách sử dụng thuộc tính trang tính
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
44. Đối với ví dụ này, hãy quay lại 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)
(, )
(, )
(, )
1 của chúng tôi và thử làm như sau

>>>

>>> sheet["A1"]


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

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

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
46 trong trình chỉnh sửa bảng tính yêu thích của mình, bạn sẽ nhận thấy rằng hà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')
2 và các cột
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
48 và
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
34 bị cố định và luôn hiển thị cho dù bạn điều hướng ở đâu trong bảng tính

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

Đây là giao diện của nó trong trình chỉnh sửa

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Lưu ý rằng bạn đang ở cuối bảng tính, tuy nhiên, bạn có thể thấy cả hà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')
2 và cột
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
48 và
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Thêm bộ lọc

Bạn có thể sử 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 để thêm bộ lọc và sắp xếp vào bảng tính của mình. Tuy nhiên, khi bạn mở bảng tính, dữ liệu sẽ không được sắp xếp lại theo các loại và bộ lọc này

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

Đoạn 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)
(, )
(, )
(, )
1 hiện có của chúng tôi

>>>

>>> sheet["A1"]


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

>>> sheet["F10"].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 chỉnh sửa của mình

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
55 nếu bạn biết chính xác bạn muốn áp dụng bộ lọc vào phần nào của bảng tính

Loại bỏ các quảng cáo

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 dải ô. Sử dụng công thức với

>>> # 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 cũng đơn giản như chỉnh sửa giá trị của một ô

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

>>> # 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

>>>

>>> sheet["A1"]


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

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

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)
(, )
(, )
(, )
1 của chúng ta

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

>>>

>>> sheet["A1"]


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

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

Nếu bạn mở bảng tính bây giờ và đi đến ô

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
59, bạn sẽ thấy rằng giá trị của nó là. 4. 18181818181818. Hãy xem trong trình chỉnh sửa

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Bạn có thể sử dụng phương pháp tương tự để thêm bất kỳ công thức nào vào bảng tính của mình. Ví dụ: hãy đếm số lượng bài đánh giá có phiếu bầu hữu ích

>>>

>>> sheet["A1"]


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

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

Bạn sẽ nhận được số

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
60 trên ô bảng tính
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
61 của mình như vậy

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Bạn sẽ phải đảm bảo rằng các chuỗi trong công thức luôn nằm trong dấu ngoặc kép, do đó bạn phải sử dụng dấu ngoặc đơn xung quanh công thức như trong ví dụ trên hoặc bạn sẽ phải thoát khỏi dấu ngoặc kép bên trong công thức.

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Có rất nhiều công thức khác mà bạn có thể thêm vào bảng tính của mình bằng quy trình tương tự như bạn đã thử ở trên. Cho nó một đi chính mình

Thêm kiểu

Mặc dù việc tạo kiểu cho bảng tính có thể không phải là điều bạn sẽ làm hàng ngày, nhưng vẫn rất tốt nếu bạn biết cách thực hiện

Sử 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4, bạn có thể áp dụng nhiều tùy chọn kiểu dáng cho bảng tính của mình, bao gồm phông chữ, đường viền, màu sắc, v.v. Hãy xem tài liệ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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 để tìm hiểu thêm

Bạn cũng có thể chọn áp dụng một kiểu trực tiếp cho một ô hoặc tạo một mẫu và sử dụng lại nó để áp dụng các kiểu cho nhiều ô

Hãy bắt đầu bằng cách xem cách tạo kiểu ô đơn giản, sử dụng lạ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)
(, )
(, )
(, )
1 của chúng tôi làm bảng tính cơ sở

>>>

>>> sheet["A1"]


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

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

Nếu bạn mở bảng tính của mình ngay bây giờ, bạn sẽ thấy khá nhiều kiểu khác nhau trên 5 ô đầu tiên của cột

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

của bạn đi. Bạn có

  • A2 với văn bản được in đậm
  • A3 với văn bản màu đỏ và cỡ chữ lớn hơn
  • A4 với văn bản ở giữa
  • A5 với đường viền hình vuông xung quanh văn bản

Ghi chú. Đối với màu sắc, bạn cũng có thể sử dụng mã HEX thay thế bằng cách thực hiện

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Bạn cũng có thể kết hợp các kiểu bằng cách thêm chúng vào ô cùng một lúc

>>>

>>> sheet["A1"]


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

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

Hãy xem ô

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
68 tại đây

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Khi bạn muốn áp dụng nhiều kiểu cho một hoặc nhiều ô, thay vào đó, bạn có thể sử dụng lớp

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
69, đây giống như một mẫu kiểu mà bạn có thể sử dụng nhiều lần. Hãy xem ví dụ dưới đây

>>>

>>> sheet["A1"]


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

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

Nếu bạn mở bảng tính ngay bây giờ, bạn sẽ thấy rằng hàng đầu tiên của bảng tính được in đậm, văn bản được căn giữa và có một đường viền nhỏ ở dưới cùng. Có một cái nhìn dưới đây

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Như bạn đã thấy ở trên, có nhiều tùy chọn khi nói đến kiểu dáng và tùy thuộc vào trường hợp sử dụng, vì vậy vui lòng kiểm tra tài liệ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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 và xem bạn có thể làm những việc gì khác

Loại bỏ các quảng cáo

Định dạng có điều kiện

Tính năng này là một trong những tính năng yêu thích của cá nhân tôi khi thêm kiểu vào bảng tính

Đó là một cách tiếp cận hiệu quả hơn nhiều để tạo kiểu vì nó tự động áp dụng các kiểu theo cách dữ liệu trong bảng tính thay đổi

Tóm lại, định dạng có điều kiện cho phép bạn chỉ định một danh sách các kiểu để áp dụng cho một ô (hoặc phạm vi ô) theo các điều kiện cụ thể

Ví dụ: một trường hợp sử dụng rộng rãi là có một bảng cân đối kế toán trong đó tất cả các tổng âm có màu đỏ và các tổng dương có màu xanh lá cây. Định dạng này làm cho việc phát hiện các khoảng thời gian tốt và xấu hiệu quả hơn nhiều

Còn chần chừ gì nữa, hãy chọn bảng tính yêu thích của chúng ta—

>>> 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)
(, )
(, )
(, )
1—và thêm một số định dạng có điều kiện

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

>>>

>>> sheet["A1"]


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

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

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
72 và
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    72 khá giống với
    from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    69 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ữ, đường viền, căn chỉnh, v.v.
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    73 chịu trách nhiệm chọn các ô và áp dụng các kiểu nếu các ô phù hợp với logic của quy tắc

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
73, bạn có thể tạo nhiều tình huống định dạng có điều kiện

Tuy nhiên, để đơn giản hóa, gói

>>> # 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 cung cấp 3 định dạng tích hợp giúp tạo một số mẫu định dạng có điều kiện phổ biến dễ dàng hơn. Những tích hợp này là

  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    79
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    80
  • from openpyxl import Workbook
    
    workbook = Workbook()
    sheet = workbook.active
    
    sheet["A1"] = "hello"
    sheet["B1"] = "world!"
    
    workbook.save(filename="hello_world.xlsx")
    
    81

ColorScale cung cấp cho bạn khả năng tạo độ dốc màu

>>>

>>> 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 dải màu trên cột

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
82, từ đỏ sang xanh lục, theo xếp hạng sao

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Thay vào đó, bạn cũng có thể thêm màu thứ ba và tạo hai chuyển màu

>>>

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


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

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

>>>

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


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

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ỉ xuống khi giá trị của ô là 1 và khi xếp hạng tốt hơn, mũi tên bắt đầu hướng lên và chuyển sang màu xanh lục

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Gói

>>> # 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 có một số 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, DataBar cho phép bạn tạo các thanh tiến trình

>>>

>>> 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 thanh tiến trình màu xanh lá cây càng đầy khi xếp hạng sao càng gần với số 5

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

>>> # 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 để xem một loạt các tùy chọn khác

Loại bỏ các quảng cáo

Thêm hình ảnh

Mặc dù hình ảnh không phải là thứ bạn thường thấy trong bảng tính, nhưng thậ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

Để có thể tải hình ảnh vào bảng tính bằ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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4, bạn sẽ phải cài đặt
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

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


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

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
87 thành
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
88 bằng công cụ chuyển đổi trực tuyến chẳng hạn như cloudconvert. com, lưu tệp cuối cùng dưới dạng
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
89 và sao chép tệp đó vào thư mục gốc nơi bạn đang chạy các ví dụ của mình

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

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


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

Bạn có một hình ảnh trên bảng tính của mình. Đây rồi

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Góc trên cùng bên trái của hình ảnh nằm trên ô bạn đã chọn, trong trường hợp này là

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Thêm các biểu đồ đẹp

Một điều mạnh mẽ khác mà bạn có thể làm với bảng tính là tạo nhiều loại biểu đồ đáng kinh ngạc

Biểu đồ là một cách tuyệt vời để trực quan hóa và hiểu lượng dữ liệu một cách nhanh chóng. Có rất nhiều loại biểu đồ khác nhau. biểu đồ thanh, biểu đồ hình tròn, biểu đồ đường, v.v.

>>> # 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 đã hỗ trợ cho rất nhiều người trong số họ

Ở đây, bạn sẽ chỉ thấy một vài ví dụ về biểu đồ vì lý thuyết đằng sau nó giống nhau đối với mọi loại biểu đồ.

Ghi chú. Một số loại biểu đồ 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 hiện không hỗ trợ là Phễu, Gantt, Pareto, Sơ đồ cây, Thác nước, Bản đồ và Sunburst

Đối với bất kỳ biểu đồ nào bạn muốn tạo, bạn sẽ cần xác định loại biểu đồ.

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
94,
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
95, v.v., cộng với dữ liệu được sử dụng cho biểu đồ, được gọi là
from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Trước khi bạn có thể tạo biểu đồ của mình, bạn cần xác định dữ liệu nào bạn muốn xem được trình bày trong đó. Đôi khi, bạn có thể sử dụng tập dữ liệu như hiện tại, nhưng những lúc khác, bạn cần xoa bóp dữ liệu một chút để có thêm thông tin

Hãy bắt đầu bằng cách xây dựng một sổ làm việc mới với một số dữ liệu mẫu

>>> 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ẽ bắt đầu bằng cách tạo biểu đồ thanh hiển thị tổng số lần bán trên mỗi sản phẩm

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


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

Ở đó bạn có nó. Dưới đây, bạn có thể thấy một biểu đồ thanh rất đơn giản cho thấy sự khác biệt giữa bán sản phẩm trực tuyến trực tuyến và bán sản phẩm tại cửa hàng

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Giống như với hình ảnh, góc trên cùng bên trái của biểu đồ nằm trên ô mà bạn đã thêm biểu đồ vào. Trong trường hợp của bạn, đó là trên điện thoại

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

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

Ghi chú. Tùy thuộc vào việc bạn đang sử dụng Microsoft Excel hay giải pháp thay thế mã nguồn mở (LibreOffice hoặc OpenOffice), biểu đồ có thể trông hơi khác một chút

Thay vào đó, hãy thử tạo biểu đồ đường, thay đổi dữ liệu một chút

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


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

Với đoạn mã trên, bạn sẽ có thể tạo một số dữ liệu ngẫu nhiên về doanh số của 3 sản phẩm khác nhau trong cả năm

Khi đã xong, bạn có thể dễ dàng tạo biểu đồ đường bằng đoạn mã sau

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


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

Đây là kết quả của đoạn mã trên

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
98 khi thêm dữ liệu. Đối số này làm cho biểu đồ vẽ theo hàng thay vì theo từng cột

Trong dữ liệu mẫu của mình, 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 Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
99. 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ẽ nhận được so sánh doanh số bán hàng theo từng tháng

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

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

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

workbook.save(filename="hello_world.xlsx")
96 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'
01, thay vì cột thứ hai. Thay đổi này là cần thiết vì biểu đồ hiện mong đợi cột đầu tiên có tiêu đề

Có một số điều khác mà bạn cũng có thể thay đổi liên quan đến kiểu biểu đồ. Ví dụ: bạn có thể thêm các danh mục cụ thể vào biểu đồ

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

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ố

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Code-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 đó mở bảng tính và hiểu biểu đồ ngay lập tức dễ dàng hơn nhiều

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'
02 và
>>> from openpyxl import load_workbook
>>> workbook = load_workbook(filename="sample.xlsx")
>>> workbook.sheetnames
['Sheet 1']

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


>>> sheet.title
'Sheet 1'
03

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

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Như bạn có thể thấy, những thay đổi nhỏ như trên giúp việc đọc biểu đồ của bạn trở nên 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 cho 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'
04 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"]
((, , ),
 (, , ))
2

Với kiểu được chọn ở trên, tất cả các đường đều có một số màu cam

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Không có tài liệu rõ ràng về hình thức của từng số kiểu, nhưng bảng tính này có một vài ví dụ về các kiểu có sẵn

Ví dụ về mã hoàn chỉnhHiển thị/Ẩn

Đây là mã đầy đủ được sử dụng để tạo biểu đồ đường với các danh mục, tiêu đề trục và kiểu

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

Có rất nhiều loại biểu đồ và tùy chỉnh khác mà bạn có thể áp dụng, vì vậy hãy nhớ xem 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ể

Loại bỏ các quảng cáo

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

Bạn đã biết cách chuyển đổi dữ liệu của bảng tính Excel thành các lớp Python, nhưng bây giờ hãy 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ạ quan hệ đố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 các đối tượng đó thành một bảng tính

Giả sử các lớp dữ liệu sau đại diện cho dữ liệu đến từ cơ sở dữ liệu của bạn về doanh số bán sản phẩm

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

Bây giờ, hãy tạo 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'
05

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

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 dữ liệu này thành 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

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

Đó 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 thú vị mà bạn có được gần đây để thêm biểu đồ cũng như hiển thị dữ liệu đó một cách trực quan hơn?

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

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

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Đó là một cách tuyệt vời để bạn tổng hợp kiến ​​thức mới về biểu đồ

Thưởng. Làm việc với gấu trúc

Mặc dù bạn có thể sử dụng Pandas để xử lý các tệp Excel, nhưng có một số điều bạn không thể thực hiện được với Pandas hoặc tốt hơn hết là bạn chỉ nên sử dụng trực tiếp

>>> # 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

Ví dụ: một số ưu điểm của việc sử 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 là khả năng dễ dàng tùy chỉnh bảng tính của bạn bằng 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ế,

>>> # 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 có hỗ trợ cho cả việc chuyển đổi dữ liệu từ Pandas DataFrame thành sổ làm việc hoặc ngược lại, chuyển đổi sổ làm việc
>>> # 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 thành Pandas DataFrame

Ghi chú. Nếu bạn chưa quen với Pandas, hãy xem trước khóa học của chúng tôi về Pandas DataFrames

Điều đầu tiên, hãy nhớ cài đặt 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'
10

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

Sau đó, hãy tạo một DataFrame mẫu

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

Bây giờ bạn đã có một số dữ liệu, 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'
11 để chuyển đổi dữ liệu đó từ DataFrame thành trang 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
0

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

Tôi có thể sử dụng dữ liệu Excel trong Python không?

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

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

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


>>> sheet.title
'Sheet 1'
12 và nó sẽ thêm chỉ mục của từng hàng 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ể thực hiện 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
1

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 chẳng hạn, thì bạn cũng có thể làm như thế này để thay thế

>>> # 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

Sử dụng các chỉ mục và cột cho phép bạn dễ dàng truy cập dữ liệu từ DataFrame của mì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

Vậy là xong, cho dù bạn muốn sử 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]
((,
  ,
  ...
  ,
  ),
 (,
  ,
  ...
  ,
  ))
4 để làm đẹp bộ dữ liệu Pandas của mình hay sử dụng Pandas để thực hiện một số phép toán khó, giờ đây bạn đã biết cách chuyển đổi giữa cả hai gói

Loại bỏ các quảng cáo

Phần kết luận

Phew, sau một thời gian dài đọc, 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

>>> # 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, người bạn đồng hành đáng tin cậy của mình, để

  • 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

>>> # 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 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ỳ nhận xét nào bên dưới 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 bạn muốn nghe thêm về

Tải xuống tập dữ liệu. Nhấp vào đây để tải xuống tập dữ liệu cho bài tập openpyxl mà bạn sẽ theo dõi trong hướng dẫn này

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Chỉnh sửa Bảng tính Excel bằng Python Với openpyxl

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Gửi cho tôi thủ thuật Python »

Giới thiệu về Pedro Pregueiro

Tôi có thể sử dụng dữ liệu Excel trong Python không?
Tôi có thể sử dụng dữ liệu Excel trong Python không?

CHÀO. Tên tôi là Pedro và tôi là nhà phát triển Python yêu thích viết mã, bánh mì kẹp thịt và chơi ghi-ta

» Thông tin thêm về Pedro


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Aldren

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Joanna

Tôi có thể sử dụng dữ liệu Excel trong Python không?

Mike

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi