Python Openpyxl 3

Hầu hết thế giới ngày nay dựa vào Excel cho rất nhiều quy trình. Chúng ta đều biết Excel được sử dụng để sắp xếp dữ liệu, thực hiện tính toán, phân tích tài chính, trực quan hóa, v.v. Tuy nhiên, đôi khi cần tự động hóa một số tác vụ lặp đi lặp lại khó thực hiện thủ công. Và đây là Python để giải cứu chúng ta khỏi những nhiệm vụ đơn điệu và giúp tự động hóa. Một thư viện hữu ích của Python là Openpyxl mà chúng ta sẽ tìm hiểu trong bài viết này

Openpyxl

Openpyxl là một thư viện Python được sử dụng để đọc từ tệp Excel hoặc ghi vào tệp Excel. Các nhà khoa học dữ liệu sử dụng Openpyxl để phân tích dữ liệu, sao chép dữ liệu, khai thác dữ liệu, vẽ biểu đồ, biểu định kiểu, thêm công thức, v.v.

Sách bài tập. Một bảng tính được biểu diễn dưới dạng sổ làm việc trong openpyxl. Một sổ làm việc bao gồm một hoặc nhiều trang tính

Tờ giấy. Trang tính là một trang đơn bao gồm các ô để tổ chức dữ liệu

Tế bào. Giao điểm của một hàng và một cột được gọi là một ô. Thường được đại diện bởi A1, B5, v.v.

Chèo thuyền. Một hàng là một đường nằm ngang được biểu thị bằng một số [1,2, v.v. ]

Cột. Cột là một đường thẳng đứng được biểu thị bằng chữ in hoa [A, B, v.v. ]

Openpyxl có thể được cài đặt bằng lệnh pip và nên cài đặt nó trong môi trường ảo

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
6

Tạo sổ làm việc mới

Chúng tôi bắt đầu bằng cách tạo một bảng tính mới, được gọi là sổ làm việc trong Openpyxl. Chúng tôi nhập mô-đun sổ làm việc từ Openpyxl và sử dụng

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
7 để tạo sổ làm việc mới

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from openpyxl
import Workbook
#creates a new workbook
wb = Workbook[]
#Gets the first active worksheet
ws = wb.active
#creating new worksheets by using the create_sheet method

ws1 = wb.create_sheet["sheet1", 0] #inserts at first position
ws2 = wb.create_sheet["sheet2"] #inserts at last position
ws3 = wb.create_sheet["sheet3", -1] #inserts at penultimate position

#Renaming the sheet
ws.title = "Example"

#save the workbook
wb.save[filename = "example.xlsx"]

Đọc dữ liệu từ sổ làm việc

Chúng tôi tải tệp bằng cách sử dụng

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
8 lấy tên tệp làm đối số. Các tập tin phải được lưu trong cùng một thư mục làm việc

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]

Lấy trang tính từ sổ làm việc đã tải

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#getting sheet names
wb.sheetnames
result = ['sheet1', 'Sheet', 'sheet3', 'sheet2']

#getting a particular sheet
sheet1 = wb["sheet2"]

#getting sheet title
sheet1.title
result = 'sheet2'

#Getting the active sheet
sheetactive = wb.active
result = 'sheet1'

Truy cập ô và giá trị ô

1
2
3
4
5
6
7
8
9
10
11
#get a cell from the sheet
sheet1["A1"] <
  Cell 'Sheet1'.A1 >

  #get the cell value
ws["A1"].value 'Segment'

#accessing cell using row and column and assigning a value
d = ws.cell[row = 4, column = 2, value = 10]
d.value
10

Lặp qua các hàng và cột

1
2
3
4
5
6
7
8
9
10
11
12
13
#looping through each row and column
for x in range[1, 5]:
  for y in range[1, 5]:
  print[x, y, ws.cell[row = x, column = y]
    .value]

#getting the highest row number
ws.max_row
701

#getting the highest column number
ws.max_column
19

Có hai chức năng để lặp qua các hàng và cột

________số 8

Thí dụ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#iterating rows
for row in ws.iter_rows[min_row = 2, max_col = 3, max_row = 3]:
  for cell in row:
  print[cell] <
  Cell 'Sheet1'.A2 >
  <
  Cell 'Sheet1'.B2 >
  <
  Cell 'Sheet1'.C2 >
  <
  Cell 'Sheet1'.A3 >
  <
  Cell 'Sheet1'.B3 >
  <
  Cell 'Sheet1'.C3 >

  #iterating columns
for col in ws.iter_cols[min_row = 2, max_col = 3, max_row = 3]:
  for cell in col:
  print[cell] <
  Cell 'Sheet1'.A2 >
  <
  Cell 'Sheet1'.A3 >
  <
  Cell 'Sheet1'.B2 >
  <
  Cell 'Sheet1'.B3 >
  <
  Cell 'Sheet1'.C2 >
  <
  Cell 'Sheet1'.C3 >

Để lấy tất cả các hàng của trang tính ta sử dụng phương thức worksheet. các hàng và để lấy tất cả các cột của trang tính, chúng tôi sử dụng phương thức trang tính. cột. Tương tự, để chỉ lặp qua các giá trị, chúng ta sử dụng bảng tính phương thức. giá trị

Thí dụ

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
0

Ghi dữ liệu vào tệp Excel

Việc ghi vào sổ làm việc có thể được thực hiện theo nhiều cách, chẳng hạn như thêm công thức, thêm biểu đồ, hình ảnh, cập nhật giá trị ô, chèn hàng và cột, v.v.. Chúng ta sẽ thảo luận từng cách này với một ví dụ

Tạo và lưu sổ làm việc mới

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
1

Thêm và xóa trang tính

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
2

Thêm giá trị ô

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
0

Thêm công thức

Chúng tôi thường yêu cầu đưa công thức vào biểu dữ liệu Excel của mình. Chúng ta có thể dễ dàng thêm công thức bằng mô-đun Openpyxl giống như bạn thêm giá trị vào ô.
Ví dụ.

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
1

Chương trình trên sẽ thêm công thức [=SUM[A2. A8]] trong ô A9. Kết quả sẽ như bên dưới

Hợp nhất/hủy hợp nhất các ô

Hai hoặc nhiều ô có thể được hợp nhất thành một vùng hình chữ nhật bằng phương thức merge_cells[] và tương tự, chúng có thể được hủy hợp nhất bằng phương thức unmerge_cells[]

Ví dụ.
Hợp nhất các ô

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
2

Thêm đoạn mã trên vào ví dụ trước sẽ hợp nhất các ô như bên dưới

Hủy hợp nhất các ô

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
3

Đoạn mã trên sẽ hủy hợp nhất các ô từ B2 đến C9

Chèn một hình ảnh

Để chèn hình ảnh, chúng tôi nhập chức năng hình ảnh từ mô-đun openpyxl. đang vẽ. hình ảnh. Sau đó, chúng tôi tải hình ảnh của mình và thêm nó vào ô như trong ví dụ bên dưới

Thí dụ

1
2
#loading a workbook
wb = openpyxl.load_workbook["example.xlsx"]
4

Kết quả

Tạo biểu đồ

Biểu đồ rất cần thiết để hiển thị trực quan dữ liệu. Chúng tôi có thể tạo biểu đồ từ dữ liệu Excel bằng biểu đồ mô-đun Openpyxl. Các dạng biểu đồ khác nhau như biểu đồ đường, biểu đồ thanh, biểu đồ đường 3D, v.v. , có thể được tạo. Chúng ta cần tạo một tham chiếu chứa dữ liệu sẽ được sử dụng cho biểu đồ, không gì khác ngoài việc lựa chọn các ô [hàng và cột]. Tôi đang sử dụng dữ liệu mẫu để tạo biểu đồ thanh 3D trong ví dụ bên dưới

Openpyxl có tương thích với Python 3 không?

Openpyxl là một mô-đun Python 3 thuần túy để đọc/ghi các tệp xlsx/xlsm của Excel 2007 [OpenXML].

Làm cách nào để cài đặt openpyxl trong Python?

Một cách khác để cài đặt openpyxl trên bản phân phối python của bạn là tải xuống gói từ trang web của họ và cài đặt thủ công . Bước 1. Mở trang tải xuống cho openpyxl từ liên kết sau. Bước 2. Nhấp vào liên kết phân phối nguồn. Bước 3. Quá trình tải xuống sẽ bắt đầu.

Làm cách nào để sử dụng openpyxl trong Python?

Hướng dẫn thực hành Python Openpyxl với các ví dụ .
Cách cài đặt Openpyxl
Cấu hình của PyCharm IDE
Tạo một sổ làm việc Excel mới
Ghi dữ liệu vào tệp Excel
Đổi Tên Sheet Trong File Excel
Thêm trang tính vào tệp Excel
Nối nhiều giá trị vào trang tính
Xóa một Sheet khỏi Sổ làm việc Excel

Pandas hay openpyxl nào tốt hơn?

Theo cộng đồng StackShare, gấu trúc được chấp thuận rộng rãi hơn , được đề cập trong 41 nhóm công ty và 83 nhóm nhà phát triển; .

Chủ Đề