Hệ sinh thái phong phú của các mô-đun Python cho phép bạn làm việc nhanh chóng và tích hợp hệ thống của mình hiệu quả hơn. Với Trình kết nối CData Python cho Excel và khung petl, bạn có thể xây dựng các ứng dụng và quy trình được kết nối với Excel để trích xuất, chuyển đổi và tải dữ liệu Excel. Bài viết này cho biết cách kết nối với Excel bằng Trình kết nối Python CData và sử dụng petl và pandas để trích xuất, chuyển đổi và tải dữ liệu Excel
Với khả năng xử lý dữ liệu được tối ưu hóa, tích hợp sẵn, Trình kết nối CData Python mang lại hiệu suất chưa từng có để tương tác với dữ liệu Excel trực tiếp trong Python. Khi bạn đưa ra các truy vấn SQL phức tạp từ Excel, trình điều khiển sẽ đẩy trực tiếp các hoạt động SQL được hỗ trợ, như bộ lọc và tập hợp, vào Excel và sử dụng công cụ SQL nhúng để xử lý các hoạt động không được hỗ trợ phía máy khách [thường là các hàm SQL và hoạt động THAM GIA]
Kết nối với dữ liệu Excel
Kết nối với dữ liệu Excel giống như kết nối với bất kỳ nguồn dữ liệu quan hệ nào. Tạo chuỗi kết nối bằng các thuộc tính kết nối được yêu cầu. Đối với bài viết này, bạn sẽ chuyển chuỗi kết nối dưới dạng tham số cho hàm create_engine
Tệp Excel, trong phần Xác thực, phải được đặt thành Tệp Excel hợp lệ
Sau khi cài đặt Trình kết nối CData Excel, hãy làm theo quy trình bên dưới để cài đặt các mô-đun cần thiết khác và bắt đầu truy cập Excel thông qua các đối tượng Python
Cài đặt các mô-đun cần thiết
Sử dụng tiện ích pip để cài đặt các mô-đun và khung cần thiết
pip install petl pip install pandas
Xây dựng ứng dụng ETL cho dữ liệu Excel bằng Python
Khi các mô-đun và khung cần thiết được cài đặt, chúng tôi đã sẵn sàng xây dựng ứng dụng ETL của mình. Đoạn mã sau, nhưng mã nguồn đầy đủ có sẵn ở cuối bài viết
Trước tiên, hãy đảm bảo nhập các mô-đun [bao gồm cả Trình kết nối CData] với thông tin sau
import petl as etl import pandas as pd import cdata.excel as mod
Bây giờ bạn có thể kết nối với một chuỗi kết nối. Sử dụng chức năng kết nối cho Trình kết nối CData Excel để tạo kết nối làm việc với dữ liệu Excel
cnxn = mod.connect["Excel File='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';"]
Tạo câu lệnh SQL để truy vấn Excel
Sử dụng SQL để tạo câu lệnh truy vấn Excel. Trong bài viết này, chúng ta đọc dữ liệu từ thực thể Trang tính
sql = "SELECT Name, Revenue FROM Sheet WHERE Name = 'Bob'"
Trích xuất, chuyển đổi và tải dữ liệu Excel
Với kết quả truy vấn được lưu trữ trong DataFrame, chúng ta có thể sử dụng petl để trích xuất, chuyển đổi và tải dữ liệu Excel. Trong ví dụ này, chúng tôi trích xuất dữ liệu Excel, sắp xếp dữ liệu theo cột Doanh thu và tải dữ liệu vào tệp CSV
Đang tải dữ liệu Excel vào tệp CSV
table1 = etl.fromdb[cnxn,sql] table2 = etl.sort[table1,'Revenue'] etl.tocsv[table2,'sheet_data.csv']
Trong ví dụ sau, chúng tôi thêm các hàng mới vào bảng Trang tính
Thêm hàng mới vào Excel
table1 = [ ['Name','Revenue'], ['NewName1','NewRevenue1'], ['NewName2','NewRevenue2'], ['NewName3','NewRevenue3'] ] etl.appenddb[table1, cnxn, 'Sheet']
Với Trình kết nối CData Python dành cho Excel, bạn có thể làm việc với dữ liệu Excel giống như bạn làm với bất kỳ cơ sở dữ liệu nào, bao gồm quyền truy cập trực tiếp vào dữ liệu trong các gói ETL như petl
Dùng thử miễn phí và biết thêm thông tin
Tải xuống bản dùng thử 30 ngày miễn phí của Excel Python Connector để bắt đầu xây dựng các ứng dụng và tập lệnh Python có khả năng kết nối với dữ liệu Excel. Hãy liên hệ với Nhóm hỗ trợ của chúng tôi nếu bạn có bất kỳ câu hỏi nào
Các trường hợp nhiễm coronavirus đang gia tăng nhanh chóng trên toàn thế giới. Bài viết này sẽ hướng dẫn bạn cách lấy dữ liệu về virus corona trên web và đưa vào Ms-excel
Quét web là gì?
Nếu bạn đã từng sao chép và dán thông tin từ một trang web, thì bạn đã thực hiện chức năng giống như bất kỳ công cụ quét web nào, chỉ ở quy mô thủ công, vi mô. Quét web, còn được gọi là khai thác dữ liệu trực tuyến, là phương pháp trích xuất hoặc cạo dữ liệu từ một trang web. Kiến thức này được thu thập và sau đó dịch sang phương tiện dễ tiếp cận hơn với người dùng. Đó là bảng tính hoặc API
Cách tiếp cận.
- Yêu cầu phản hồi từ trang web
- Phân tích cú pháp và trích xuất với sự trợ giúp của phương thức lớp BeautifulSoup[] và mô-đun lxml
- Tải xuống và xuất dữ liệu với pandas vào Excel
Nguồn dữ liệu
Chúng tôi cần một trang web để lấy dữ liệu coronavirus. Vì vậy, chúng tôi sẽ sử dụng trang web Worldometer tại đây. Trang web của Worldometer sẽ giống như thế này
nguồn dữ liệu
Thực hiện có lập trình
Có một vài thư viện bạn sẽ cần, vì vậy trước tiên, bạn cần cài đặt chúng
Đi đến dòng lệnh của bạn và cài đặt chúng
pip install requests pip install lxml pip install bs4
Bây giờ hãy xem chúng ta có thể làm gì với những thư viện này
Dưới đây là các bước để Web Scraping dữ liệu coronavirus vào Excel
Bước 1] Sử dụng thư viện yêu cầu để lấy trang
Python3
# Import required module
import
requests
import petl as etl import pandas as pd import cdata.excel as mod0
import petl as etl import pandas as pd import cdata.excel as mod1
import petl as etl import pandas as pd import cdata.excel as mod2
import petl as etl import pandas as pd import cdata.excel as mod3____14
import petl as etl import pandas as pd import cdata.excel as mod5
Thư viện yêu cầu mà chúng tôi đã tải xuống đi và nhận phản hồi, để nhận yêu cầu từ trang web, chúng tôi sử dụng yêu cầu. phương thức get[URL trang web]. Nếu yêu cầu thành công, nó sẽ được lưu trữ dưới dạng chuỗi trăn khổng lồ. Chúng tôi sẽ có thể tìm nạp mã nguồn trang web hoàn chỉnh khi chúng tôi chạy kết quả. chữ. Nhưng mã sẽ không được cấu trúc
Ghi chú. Điều này có thể thất bại nếu bạn có tường lửa chặn Python/Jupyter. Đôi khi bạn cần chạy cái này hai lần nếu nó bị lỗi lần đầu tiên
Bước 2] Sử dụng phương thức BeautifulSoap[] để trích xuất dữ liệu từ các trang web.
thư viện bs4 đã có rất nhiều công cụ và phương pháp tích hợp sẵn để lấy thông tin từ một chuỗi có tính chất này [về cơ bản là tệp HTML]. Nó là một thư viện Python để lấy dữ liệu ra khỏi các tệp HTML và XML. Sử dụng phương thức BeautifulSoup[] của mô-đun bs4, chúng ta có thể tạo một đối tượng soup chứa tất cả các thành phần của trang web
Python3
# Import required module
0
import
# Import required module
2
# Import required module
3
# Import required module
4
import petl as etl import pandas as pd import cdata.excel as mod2
# Import required module
6______77import petl as etl import pandas as pd import cdata.excel as mod5
Nhập bs4 là để tạo một đối tượng BeautifulSoup. Và chúng tôi sẽ chuyển hai điều ở đây, kết quả. chuỗi văn bản và lxml dưới dạng chuỗi dưới dạng đối số hàm tạo. lxml đi qua tài liệu HTML này và sau đó tìm ra các lớp, id, thành phần HTML và thẻ CSS khác nhau, v.v.
Trích xuất dữ liệu, để tìm phần tử, bạn cần nhấp chuột phải và nhấn kiểm tra số lượng trường hợp. Tham khảo ảnh chụp đính kèm bên dưới.
kiểm tra trang web
Chúng ta cần tìm đúng lớp tôi. e. class_= ‘maincounter-number’ phục vụ mục đích của chúng tôi. Tham khảo ảnh chụp đính kèm bên dưới.
Tìm đúng lớp học
Đối tượng BeautifulSoup đã được tạo bằng tập lệnh Python của chúng tôi và dữ liệu HTML của trang web đã bị xóa khỏi trang. Tiếp theo, chúng ta cần lấy dữ liệu mà chúng ta quan tâm, ra khỏi mã HTML.
Python3
# Import required module
9
import
0
import petl as etl import pandas as pd import cdata.excel as mod2
import
2import
3 import
4import
5import petl as etl import pandas as pd import cdata.excel as mod2
import
7import petl as etl import pandas as pd import cdata.excel as mod5
Ảnh chụp màn hình đầu vào [Kiểm tra phần tử].
Vẫn còn rất nhiều mã HTML mà chúng tôi không muốn. Các mục nhập dữ liệu mong muốn của chúng tôi được bao bọc trong phần tử div HTML và bên trong class_= ‘maincounter-number’. Chúng tôi có thể sử dụng kiến thức này để làm sạch thêm dữ liệu đã cạo
Bước 3] Lưu trữ dữ liệu
Chúng ta cần lưu dữ liệu đã cạo ở một số dạng có thể được sử dụng hiệu quả. Đối với dự án này, tất cả dữ liệu sẽ được lưu trong danh sách Python.
Python3
import
9
requests
0
import petl as etl import pandas as pd import cdata.excel as mod2
requests
2
requests
3
requests
4 requests
5requests
6 requests
7
requests
8requests
9
import petl as etl import pandas as pd import cdata.excel as mod2
import petl as etl import pandas as pd import cdata.excel as mod01
import petl as etl import pandas as pd import cdata.excel as mod02
import petl as etl import pandas as pd import cdata.excel as mod5
requests
8
import petl as etl import pandas as pd import cdata.excel as mod05
import petl as etl import pandas as pd import cdata.excel as mod06
import petl as etl import pandas as pd import cdata.excel as mod07
import petl as etl import pandas as pd import cdata.excel as mod08
Ảnh chụp màn hình đầu vào [phần tử kiểm tra]
đầu ra
Chúng tôi sẽ sử dụng span để lấy dữ liệu từ div. Chúng tôi chỉ cần số lượng trường hợp, không phải thẻ. Vì vậy, chúng tôi sẽ sử dụng khoảng. chuỗi để lấy các số đó, sau đó chúng được lưu trữ trong data[]
Bây giờ chúng tôi đã có số lượng trường hợp, chúng tôi đã sẵn sàng xuất dữ liệu của mình thành tệp Excel
Bước 4] Xử lý dữ liệu
Bước cuối cùng của chúng tôi là xuất dữ liệu sang Ms-excel, mà chúng tôi sẽ sử dụng mô-đun gấu trúc. Để tải mô-đun pandas và bắt đầu làm việc với nó, hãy nhập gói.
Python3
import
import petl as etl import pandas as pd import cdata.excel as mod10
import petl as etl import pandas as pd import cdata.excel as mod11
import petl as etl import pandas as pd import cdata.excel as mod12
import petl as etl import pandas as pd import cdata.excel as mod2
import petl as etl import pandas as pd import cdata.excel as mod14
import petl as etl import pandas as pd import cdata.excel as mod15
import petl as etl import pandas as pd import cdata.excel as mod16
import petl as etl import pandas as pd import cdata.excel as mod17
import petl as etl import pandas as pd import cdata.excel as mod18
import petl as etl import pandas as pd import cdata.excel as mod2
import petl as etl import pandas as pd import cdata.excel as mod20
import petl as etl import pandas as pd import cdata.excel as mod21
import
4import petl as etl import pandas as pd import cdata.excel as mod23
import
4import petl as etl import pandas as pd import cdata.excel as mod25
import petl as etl import pandas as pd import cdata.excel as mod26
DataFrame là cấu trúc dữ liệu được gắn nhãn 2D, cấu trúc dữ liệu dạng bảng có khả năng không đồng nhất với các trục [hàng và cột] được gắn nhãn
df = pd. DataFrame[{“CoronaData”. data}] được sử dụng để tạo DataFrame và đặt tên cho nó và ánh xạ nó tới danh sách dữ liệu mà chúng tôi đã tạo trước đó