Bạn có thể sử dụng python với excel không

Tất cả các bạn chắc hẳn đã từng làm việc với Excel vào một lúc nào đó trong đời và chắc hẳn đã cảm thấy cần phải tự động hóa một số tác vụ lặp đi lặp lại hoặc tẻ nhạt. Đừng lo lắng trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách làm việc với Excel bằng Python hoặc tự động hóa Excel bằng Python. Chúng tôi sẽ trình bày vấn đề này với sự trợ giúp của mô-đun Openpyxl

 

Bắt đầu

Openpyxl là một thư viện Python cung cấp nhiều phương thức khác nhau để tương tác với Tệp Excel bằng Python. Nó cho phép các hoạt động như đọc, viết, phép toán số học, vẽ đồ thị, v.v.

Mô-đun này không được tích hợp sẵn với Python. Để cài đặt loại này, lệnh dưới đây trong thiết bị đầu cuối

pip install openpyxl

Đọc từ bảng tính

Để đọc tệp Excel, bạn phải mở bảng tính bằng phương thức load_workbook(). Sau đó, bạn có thể sử dụng kích hoạt để chọn trang tính đầu tiên có sẵn và thuộc tính ô để chọn ô bằng cách chuyển tham số hàng và cột. Thuộc tính giá trị in giá trị của ô cụ thể. Xem ví dụ bên dưới để hiểu rõ hơn.  

Ghi chú. Số nguyên của hàng hoặc cột đầu tiên là 1, không phải 0

Tập dữ liệu được sử dụng. Nó có thể được tải về từ đây

Ví dụ

Python3




Name27

Name28

Name29

Name30 Name31

Name28

Name0

Name1Name2 Name3

Name28

Name5

Name6

Name7____12 Name9

Name28

Name01

Name02

________ 103 ________ 12 ________ 105

Name28

Name07

Name08

Name09

Name28

Name81

Name82

Name28

Name84

Name85

Name86Name2 Name88Name2 Name270Name271Name2 Name270Name274

Name28

Name276

Name277

_______4278____4279

đầu ra

Name

Đọc từ nhiều ô

Có thể có hai cách đọc từ nhiều ô.  

Phương pháp 1. Chúng ta có thể lấy tổng số hàng và cột bằng cách sử dụng max_row và max_column tương ứng. Chúng ta có thể sử dụng các giá trị này bên trong vòng lặp for để lấy giá trị của hàng hoặc cột mong muốn hoặc bất kỳ ô nào tùy thuộc vào tình huống. Hãy xem cách lấy giá trị của cột đầu tiên và hàng đầu tiên

Ví dụ

Python3




Name27

Name28

Name29

Name30 Name31

Name28

Name0

Name1Name2 Name3

Name28

Name5

Name6

Name7____12 Name9

Name28

Name01

Name02

________ 103 ________ 12 ________ 105

Name28

Name303

Name304

Name305Name2 Name307

Name308Name2 Name310

Name28

Name278Name313Name314Name315

Name278Name313Name318Name319

Name28

Name281

Name282

Name283

_______4278____4313____4286Name287

Name288 Name289Name00 Name01Name313Name270Name04Name05 Name270Name07

Name08Name86Name2 Name88Name2 Name13Name2 Name270Name274

_______108____4278____4279

Name20

Name281

Name282

Name23

Name278Name313Name26Name287

Name288 Name289Name00 Name01Name313Name270Name271Name05 Name270Name07

Name08Name86Name2 Name88Name2 Name43Name271Name2 Name46

Name08Name278Name49Name2 Name51Name287

đầu ra

Name0

Phương pháp 2. Chúng ta cũng có thể đọc từ nhiều ô bằng cách sử dụng tên ô. Đây có thể được coi là danh sách cắt của Python

Python3




Name27

Name28

Name29

Name30 Name31

Name28

Name0

Name1Name2 Name3

Name28

Name5

Name6

Name7____12 Name9

Name28

Name01

Name02

________ 103 ________ 12 ________ 105

Name28

Name84

Name85

Name86Name2 Name80Name81Name82Name83Name84

Name28

Name276

Name277

________ 4288 ________ 189 ________ 100 ________ 191

Name08Name278Name94

đầu ra

Name8

Tham khảo bài viết dưới đây để biết thông tin chi tiết về cách đọc file excel bằng openpyxl

  • Đọc tệp excel bằng mô-đun Python openpyxl

Viết vào bảng tính

Trước tiên, hãy tạo một bảng tính mới, sau đó chúng tôi sẽ ghi một số dữ liệu vào tệp mới tạo. Một bảng tính trống có thể được tạo bằng phương thức Workbook(). Hãy xem ví dụ dưới đây

Ví dụ

Python3




Name95 Name96Name30 Name98

Name28

Name000

Name001

________ 1002 _______ 12 ________ 1004

Name28

Name006

Name007

Name008

Name009

Name010Name2____1012Name287

đầu ra

Sau khi tạo một tệp trống, hãy xem cách thêm một số dữ liệu vào tệp đó bằng Python. Để thêm dữ liệu, trước tiên chúng ta cần chọn trang tính đang hoạt động, sau đó sử dụng phương thức cell(), chúng ta có thể chọn bất kỳ ô cụ thể nào bằng cách chuyển số hàng và cột làm tham số của nó. Chúng ta cũng có thể viết bằng cách sử dụng tên ô. Xem ví dụ dưới đây để hiểu rõ hơn

Ví dụ

Python3




Name29

Name30 Name31

Name28

Name018

Name001

Name020Name2 Name022

Name28

Name024

Name02

Name026Name2 Name028

Name28

Name030

Name08

Name09

Name28

Name034

Name035

Name036

Name037Name2 Name039Name2 Name270Name271Name2 Name270Name274

Name28

Name047

________ 1048 ________ 12 ________ 1050

Name28

Name052Name2 Name039Name2 Name270 Name271Name2 Name43Name274

________ 1061 ________ 12 ________ 1063

Name28

Name065

Name066

Name067

Name068Name2 Name070______1071Name072

________ 1073 ________ 12 ________ 1075

Name28

Name077

Name078Name2 Name070Name081Name072

________ 1083 ________ 12 ________ 1085

Name28

Name006

Name007

Name008

Name009

_______1091____1012____4274

đầu ra

Tham khảo bài viết dưới đây để biết thông tin chi tiết về cách viết excel

  • Ghi vào tệp excel bằng mô-đun openpyxl

Thêm vào bảng tính

Trong ví dụ trên, bạn sẽ thấy rằng mỗi khi bạn cố gắng ghi vào bảng tính, dữ liệu hiện có sẽ bị ghi đè và tệp được lưu dưới dạng tệp mới. Điều này xảy ra vì phương thức Workbook() luôn tạo đối tượng tệp sổ làm việc mới. Để ghi vào sổ làm việc hiện có, bạn phải mở tệp bằng phương thức load_workbook(). Chúng tôi sẽ sử dụng sổ làm việc được tạo ở trên

Ví dụ

Python3




Name29

Name30 Name31

Name28

Name020Name2 Name800Name012Name274

Name28

Name026Name2 Name028

Name28

Name808Name2 Name070____1811Name072

Name813Name2 Name815

Name28

________ 1091 _______ 1012 ________ 4287

đầu ra

Chúng ta cũng có thể sử dụng phương thức append() để nối nhiều dữ liệu vào cuối trang tính

Ví dụ

Python3




Name29

Name30 Name31

Name28

Name020Name2 Name800Name012Name274

Name28

Name026Name2 Name028

Name28

Name834Name2 Name313

Name08Name313____4270Name840Name43Name840Name843Name844

Name08Name313____1847Name840Name849Name840Name851Name287

Name287

Name28

________ 4288 ________ 4305 ________ 100 ________ 1858

Name08Name860

Name28

________ 1091 ________ 1863 ________ 4287

đầu ra

Phép toán số học trên bảng tính

Các phép tính số học có thể được thực hiện bằng cách nhập công thức vào một ô cụ thể của bảng tính. Ví dụ muốn tính tổng thì sử dụng công thức =Sum() của file excel

Ví dụ

Python3




Name29

Name30 Name31

Name28

Name018

Name001

Name020Name2 Name022

Name28

Name024

Name876

Name026Name2 Name028

Name28

Name881

Name070Name81Name84Name2 Name886

Name070Name071____184Name2 Name891

Name070Name811Name84Name2 Name896

Name070Name898Name84Name2 Name2701

Name070Name2703Name84Name2 Name2706

Name28

Name2708

Name2709

Name070Name2711Name84Name2 Name2714

Name28

Name2716

_______1091____42718____4274

đầu ra

Tham khảo bài viết dưới đây để biết thông tin chi tiết về các phép toán Số học trên Bảng tính

  • Các phép toán số học trong tệp excel bằng openpyxl

Điều chỉnh hàng và cột

Các đối tượng trang tính có các thuộc tính row_dimensions và column_dimensions kiểm soát chiều cao của hàng và chiều rộng của cột. Row_dimensions và column_dimensions của trang tính là các giá trị giống như từ điển; . Trong row_dimensions, người ta có thể truy cập một trong các đối tượng bằng cách sử dụng số của hàng (trong trường hợp này là 1 hoặc 2). Trong column_dimensions, người ta có thể truy cập một trong các đối tượng bằng chữ cái của cột (trong trường hợp này là A hoặc B)

Ví dụ

Python3




Name29

Name30 Name31

Name28

Name018

Name001

Name020Name2 Name022

Name28

Name024

Name876

Name026Name2 Name028

Name28

Name2736

Name039Name2 Name270Name271Name2 Name270Name2743Name2 Name2745

Name28

Name039Name2 Name43____4271Name2 Name43Name2743Name2 Name2755

Name28

Name2757

Name2758Name270Name2760Name2 Name2762

Name28

Name2764

Name2765Name2766Name2767Name2 Name2769

Name28

Name2716

________ 1091 ________ 1863 ________ 4274

đầu ra

Hợp nhất các ô

Một vùng ô hình chữ nhật có thể được hợp nhất thành một ô duy nhất bằng phương thức trang tính merge_cells(). Đối số cho merge_cells() là một chuỗi gồm các ô trên cùng bên trái và dưới cùng bên phải của vùng hình chữ nhật sẽ được hợp nhất

Ví dụ

Python3




Name30 Name31

Name020Name2 Name022

Name026Name2 Name028

Name28

Name2784

Name2785

Name2786

_______42787____42788____4274

Name28

Name039Name2 Name43____4271Name2 Name270Name2743Name2 Name2799

Name28

Name2801

Name2787____42803______4274

Name28

Name039Name2 Name851____4271Name2 Name851Name2743Name2 Name2814

Name28

________ 1091 ________ 1863 ________ 4287

đầu ra

Hợp nhất các ô

Để hủy hợp nhất các ô, hãy gọi phương thức trang tính unmerge_cells()

Ví dụ

Python3




Name30 Name31

Name28

Name28

Name020Name2 Name800Name863Name274

Name026Name2 Name028

Name28

Name2832

_______42833____42788____4274

Name28

_______42833____42803____4274

Name28

________ 1091 ________ 1863 ________ 4287

đầu ra

Đặt kiểu phông chữ

Để tùy chỉnh kiểu phông chữ trong các ô, quan trọng, hãy nhập hàm Font() từ openpyxl. mô-đun phong cách

Ví dụ

Python3




Name30 Name31

Name28

Name2847

Name95 Name2849____430 Name2851

Name28

Name28

Name020Name2 Name022

Name026Name2 Name028

Name28

Name039Name2 Name270Name271Name2 Name270Name2743Name2 Name2869

Name28

Name2871

Name039Name2 Name270Name271Name2 Name270______42878Name2 Name2880Name2 Name2882 Name274

Name28

Name039Name2 Name43____4271Name2 Name43Name2743Name2 Name2869

Name28

Name2895

Name039Name2 Name43_______4271Name2 Name43____42878Name2 Name2880Name2 Name2882Name2907Name2 Name2909Name274

Name28

Name039Name2 Name843Name271Name2 Name843______42743Name2 Name2869

Name28

Name2922

Name039Name2 Name843Name271Name2 Name843______42878Name2 Name2880Name2 Name2882Name2934Name2 Name2909Name274

Name28

Name039Name2 Name847Name271Name2 Name847Name2743Name2 Name2869

Name28

Name2949

Name039Name2 Name847Name271Name2 Name847______42878Name2 Name2880Name2 Name2882Name2961Name2 Name2963Name274

Name28

________ 1091 ________ 1863 ________ 4274

đầu ra

Tham khảo bài viết dưới đây để biết thông tin chi tiết về điều chỉnh hàng và cột

  • Điều chỉnh các hàng và cột của tệp excel bằng mô-đun openpyxl

vẽ biểu đồ

Biểu đồ bao gồm ít nhất một chuỗi một hoặc nhiều điểm dữ liệu. Bản thân chuỗi bao gồm các tham chiếu đến phạm vi ô. Để vẽ biểu đồ trên trang tính excel, trước tiên, hãy tạo các đối tượng biểu đồ của lớp biểu đồ cụ thể ( i. e Biểu đồ thanh, Biểu đồ đường, v.v. ). Sau khi tạo các đối tượng biểu đồ, hãy chèn dữ liệu vào đó và cuối cùng, thêm đối tượng biểu đồ đó vào đối tượng trang tính

ví dụ 1

Python3




Name2969

Name30 Name96

Name28

Name2973

________ 195 ________ 42975 ________ 430 ________ 42977

Name28

Name2979

Name2980

Name020Name2 Name2983

Name28

Name2985

Name2986

Name026Name2 Name2989

Name28

Name2991

Name288 Name289Name00 Name01Name313Name2997____42998

Name08Name3000

Name28

Name3002

Name3003Name2 Name3005Name2______4270Name3008Name2Name270Name840

Name3012Name3013Name2Name270Name3016Name2Name2997Name287

Name28

Name3021

Name3022Name2 Name3024

Name28

Name3026

Name3027

Name28

Name3029

Name3030Name2 Name3032

Name28

Name3034

Name3035Name2 Name3037

Name28

Name3039

Name3040Name2 Name3042

Name28

Name3044

Name3045

Name3046

_______43047____43048____4287

Name28

Name3051

________ 1091 _______ 1012 ________ 4287

đầu ra

ví dụ 2

Python3




Name2969

Name30 Name96

Name28

Name3059

________ 195 ________ 42975 ________ 430 ________ 43063

Name28

Name020Name2 Name2983

Name026Name2 Name2989

Name28

Name2991

Name288 Name289Name00 Name01Name313Name2997____42998

Name08Name3000

Name28

Name3003Name2 Name3005Name2______4270Name3008Name2Name270Name840

Name3012Name3013Name2Name270Name3016Name2Name2997Name287

Name28

Name3101

Name3022Name2 Name3104

Name28

Name3027

Name28

Name3029

Name3030Name2 Name3111

Name28

Name3034

Name3035Name2 Name3116

Name28

Name3039

Name3040Name2 Name3121

Name28

Name3044

Name3045

Name3046

_______43047____43048____4287

Name28

Name3051

________ 1091 _______ 1012 ________ 4287

đầu ra

Tham khảo các bài viết dưới đây để biết thông tin chi tiết về vẽ đồ thị trong excel bằng Python

  • Vẽ biểu đồ trong bảng excel bằng mô-đun openpyxl. Hiệp 1
  • Vẽ biểu đồ trong bảng excel bằng mô-đun openpyxl. Đặt  2
  • Vẽ biểu đồ trong bảng excel bằng mô-đun openpyxl. bộ 3

Thêm hình ảnh

Với mục đích nhập hình ảnh bên trong trang tính của chúng tôi, chúng tôi sẽ sử dụng openpyxl. vẽ. hình ảnh. Hình ảnh. Phương pháp này là một trình bao bọc trên PIL. Phương pháp hình ảnh được tìm thấy trong thư viện PIL (gối). Do đó, cần phải cài đặt thư viện PIL (gối) để sử dụng phương pháp này

Hình ảnh được sử dụng

Ví dụ

Python3




Name30 Name31

Name95 Name3137______430 Name3139

Name28

Name020Name2 Name022

Name28

Name026Name2 Name2989

Name28

Name3149

Name3150

Name3151Name2997Name840Name3154Name840Name3156Name840Name847Name840Name3160Name3161

Làm cách nào để kết nối Excel với Python?

Các bước để nhập tệp Excel vào Python bằng Pandas .
Bước 1. Chụp đường dẫn tập tin. Trước tiên, hãy chụp lại đường dẫn đầy đủ nơi tệp Excel được lưu trữ trên máy tính của bạn. .
Bước 2. Áp dụng mã Python. .
Bước 3. Chạy mã Python để nhập tệp Excel

Python có tốt cho Excel không?

Excel có thể là trở ngại lớn khi bạn đang cố tự động hóa một quy trình hoặc chạy nhiều lần cùng một phân tích. Sử dụng Python có thể giúp việc này nhanh hơn nhiều .

Bạn có thể sử dụng Python trong Excel thay vì VBA không?

CÔNG CỤ MACRO VÀ EXCEL . g. thông qua một nút trên trang tính. Điều này cũng hoạt động tốt cho các ứng dụng web tạo mẫu (Windows & Mac). Write Excel tools with Python instead of VBA and call your code directly from within Excel, e.g. via a button on the sheet. This also works great for prototyping web apps (Windows & Mac).

Tôi có thể sử dụng Python để tự động hóa Excel không?

Để làm việc trên trang tính Excel này, chúng tôi sẽ sử dụng thư viện openpyxl . Tạo một thư mục trong thư mục của bạn, đặt tên cho nó và cài đặt gói openpyxl bằng cách thực hiện lệnh sau trong thiết bị đầu cuối của bạn. Bây giờ chúng tôi có thể nhập gói này để làm việc trên bảng tính của mình. Trước đó, hãy thêm bảng tính vào thư mục dự án của bạn.

Chủ đề