Hợp nhất sheet excel pandas

Google Trang tính từ lâu đã là 1 công cụ bảng tính cực kỳ hữu ích, quen thuộc với nhiều người trên web nền tảng nhất là trong nhóm làm việc. Thật lòng mà nói, tôi sử dụng Google Trang tính trong công việc và cuộc sống hàng ngày còn hơn cả bộ công cụ Microsoft Excel trên máy tính nhờ trải nghiệm xuyên suốt trên nhiều thiết bị, các chức năng đặc biệt và khả năng mở rộng tính năng

Khi sử dụng Python để phân tích dữ liệu, tôi chọn tải dữ liệu trực tiếp từ Google Trang tính vào dự án cho tiện vì phải xuất tệp định dạng csv, xlsx rồi tải mới. Sau khi xử lý xong xuôi, tôi cũng thường xuyên lựa chọn xuất dữ liệu ra Google Trang tính để lưu trữ và chia sẻ cho nhóm trong công ty và đối tác. Ngoài ra với các ứng dụng web scraping, trích xuất dữ liệu từ các báo, Google Sheets còn được chọn để lưu trữ các dữ liệu đã có qua lý do một cách tiện lợi, đính kèm liên kết khi gửi thông tin chi tiết cho người nhận tin

Thông qua bài viết hướng dẫn rút ngắn này, hy vọng các bạn có thể đọc và xuất dữ liệu Google Sheets với Python một cách dễ dàng để áp dụng vào công việc của mình nhé

Kích hoạt tài khoản Google Cloud

Để có thể tương tác với các dịch vụ của Google thông qua API và thư viện Python, bạn cần kích hoạt tài khoản Google Cloud (đối chiếu với lần đầu sử dụng) và tạo khóa bảo mật để trao đổi thông tin với API

Hợp nhất sheet excel pandas
Kích hoạt tài khoản Google Cloud

Tạo dự án trên Google Cloud Console

Tạo dự án (dự án) đầu tiên của bạn trên Google Cloud bằng cách nhập tên mô tả dự án và chuyển đến các bước tiếp theo

Hợp nhất sheet excel pandas

Tạo tài khoản dịch vụ và thông tin xác thực

Tạo tài khoản service account và khóa bảo mật (credential) đầu tiên của bạn. Tìm mục API & Dịch vụ tại menu thanh ở phía bên trái màn hình, sau đó chọn Thông tin xác thực

Hợp nhất sheet excel pandas

Đến đây, các bạn cần tạo một tài khoản Dịch vụ - đây là tài khoản dành cho mục đích tương tác với Google Cloud thông qua bot hoặc các chương trình được thiết lập sẵn.

Hợp nhất sheet excel pandas

Nhập các thông tin mô tả Tài khoản dịch vụ này để các bạn dễ nhận diện và quản lý sau khi các bạn có nhiều dự án và tài khoản dịch vụ khác nhau

Hợp nhất sheet excel pandas

Tiếp theo, các bạn cần tạo 1 khóa bảo mật cho Tài khoản dịch vụ được tạo ra. Chọn mục Quản lý tài khoản dịch vụ ngay bên cạnh tên tài khoản dịch vụ bạn mới tạo như hình dưới đây. Vui lòng sao chép địa chỉ Tài khoản dịch vụ email [email protected] vào Notepad để sử dụng trong các bước tiếp theo nhé

Hợp nhất sheet excel pandas

Tiếp theo bạn chọn Thêm khóa và Tạo khóa mới như mô tả

Hợp nhất sheet excel pandas

Ở màn hình tiếp theo, bạn chọn định dạng khóa bảo mật là JSON, sau đó nhấp chọn Tạo để tải về khóa bảo mật là 1 tệp có đuôi ___3

Hợp nhất sheet excel pandas

Bật dịch vụ Google Sheets API và Google Drive API

Để làm việc với Google Trang tính, bạn cần bật 2 dịch vụ API là Google Drive API và Google Sheets API. Vui lòng nhập sheet apidrive api tương ứng với thanh tìm kiếm như hình bên dưới để tìm 2 dịch vụ trên. Chọn kết quả tìm kiếm tương ứng với API Google Trang tính và API Google Drive, sau đó nhấp vào chọn Bật ở màn hình tiếp theo để bật dịch vụ

Hợp nhất sheet excel pandas
Hợp nhất sheet excel pandas

Chia sẻ quyền chỉnh sửa file Google Sheets với tài khoản dịch vụ

Như vậy là bạn đã tạo xong Tài khoản dịch vụ và khóa bảo mật để tương tác với Google Sheets API rồi đấy. Để kết nối với Sheet API trong Python, chúng ta sử dụng thư viện gspread

Để có thể đọc/ghi dữ liệu Google Sheets, bạn cần chia sẻ quyền Editor (Chỉ chỉnh sửa) của tệp Google Sheets cần sử dụng tài khoản dịch vụ tài khoản vừa được tạo ra ở trên

Hợp nhất sheet excel pandas

Nếu trên máy tính của bạn chưa cài đặt thư viện gspread, hãy thực hiện câu lệnh pip install gspread trong Terminal/Command Prompt hoặc 1 ô của Jupyter Notebook đang sử dụng

Tạo 1 ô trong Jupyter Notebook để nhập các thư viện cần sử dụng vào dự án và khai báo xác thực oauth2client

 

________số 8

import pandas as pd

(credential)0

(credential)1

 

(credential)2

(credential)3

(credential)4

(credential)5

(credential)6

 

Đến đây bạn chỉ còn thực hiện 1 bước cuối cùng nữa là sao chép Sheet ID và Sheet Name của sheet bạn muốn đọc dữ liệu. Trong hình minh họa bên dưới, bạn có thể tìm thấy Sheet ID trong đường liên kết trên thanh địa chỉ của trình duyệt là (credential)7 còn Sheet Name tương ứng là (credential)8

Hợp nhất sheet excel pandas

Đọc dữ liệu từ Google Trang tính

Giờ đây bạn có thể bắt đầu đọc toàn bộ dữ liệu từ Trang tính trên khung dữ liệu trong Python

(credential)9

[email protected]0

[email protected]1

[email protected]2

[email protected]3

Thành quả đạt được trong Jupyter Notebook như sau

 

Hợp nhất sheet excel pandas

Xuất dữ liệu qua Google Trang tính

Để xuất dữ liệu qua Google Trang tính ở 1 trang tính mới, trước tiên bạn cần tạo trang tính đó với dòng số và cột tương ứng. Ví dụ tôi muốn tạo 1 sheet mới có tên là test_sheet để lưu trữ dữ liệu muốn xuất ra, sheet này có số dòng là 1000 và số cột là 26

[email protected]4

 

Bạn cũng có thể tạo trang tính mới sử dụng chính thông số dòng, cột từ khung dữ liệu


new_sheet = tuần. add_worksheet(title=”test_sheet_2", rows=len(df. chỉ mục), cols=len(df. cột))

 

Bây giờ chúng ta có thể sử dụng 1 câu lệnh đơn giản sau để xuất dữ liệu ra sheet mới được tạo

 

[email protected]5

[email protected]6

 

trong đó df là khung dữ liệu tôi muốn xuất dữ liệu ra Google Trang tính. Sau khi các bước thực hiện như trên, giờ đây Jupyter Notebook của bạn sẽ có dạng hoàn chỉnh như thế này

Hợp nhất sheet excel pandas

Sau 1 hồi làm theo hướng dẫn Chắc chắn các bạn cảm thấy khá rắc rối với nhiều bước phải không nào. Thực tế đây là lần đầu tiên thực hiện nên bạn mất nhiều thời gian để hoàn thành các bước thiết lập. Tin tôi đi, những lần đọc và xuất dữ liệu qua Google Trang tính của bạn sẽ cực kỳ đơn giản. Chỉ cần lấy Sheet ID, Sheet Name và phân quyền chỉnh sửa tệp cho tài khoản dịch vụ là bạn đã có thể tương tác với Google Sheet rồi đó

Để hiểu thêm về các tùy chọn và toàn bộ tính năng thú vị của thư viện gspread, bạn có thể tham khảo tài liệu chính thức Tại đây