Trích xuất dữ liệu từ python sang excel

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.  

  1. Yêu cầu phản hồi từ trang web
  2. 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
  3. 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 mod
0

import petl as etl
import pandas as pd
import cdata.excel as mod
1
import petl as etl
import pandas as pd
import cdata.excel as mod
2
import petl as etl
import pandas as pd
import cdata.excel as mod
3____14
import petl as etl
import pandas as pd
import cdata.excel as mod
5

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 module0

import # Import required module2

 

# Import required module3

# Import required module4

import petl as etl
import pandas as pd
import cdata.excel as mod
2 # Import required module6______77
import petl as etl
import pandas as pd
import cdata.excel as mod
5

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 module9

import0

import petl as etl
import pandas as pd
import cdata.excel as mod
2 import2import3 import4import5
import petl as etl
import pandas as pd
import cdata.excel as mod
2 import7
import petl as etl
import pandas as pd
import cdata.excel as mod
5

Ả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




import9

requests0

import petl as etl
import pandas as pd
import cdata.excel as mod
2 requests2

 

requests3

requests4 requests5requests6 requests7

requests8requests9

import petl as etl
import pandas as pd
import cdata.excel as mod
2
import petl as etl
import pandas as pd
import cdata.excel as mod
01
import petl as etl
import pandas as pd
import cdata.excel as mod
02
import petl as etl
import pandas as pd
import cdata.excel as mod
5

requests8

import petl as etl
import pandas as pd
import cdata.excel as mod
05

 

import petl as etl
import pandas as pd
import cdata.excel as mod
06

import petl as etl
import pandas as pd
import cdata.excel as mod
07
import petl as etl
import pandas as pd
import cdata.excel as mod
08

Ả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 mod
10

 

import petl as etl
import pandas as pd
import cdata.excel as mod
11

import petl as etl
import pandas as pd
import cdata.excel as mod
12
import petl as etl
import pandas as pd
import cdata.excel as mod
2
import petl as etl
import pandas as pd
import cdata.excel as mod
14
import petl as etl
import pandas as pd
import cdata.excel as mod
15
import petl as etl
import pandas as pd
import cdata.excel as mod
16

 

import petl as etl
import pandas as pd
import cdata.excel as mod
17

import petl as etl
import pandas as pd
import cdata.excel as mod
18
import petl as etl
import pandas as pd
import cdata.excel as mod
2
import petl as etl
import pandas as pd
import cdata.excel as mod
20
import petl as etl
import pandas as pd
import cdata.excel as mod
21import4
import petl as etl
import pandas as pd
import cdata.excel as mod
23import4
import petl as etl
import pandas as pd
import cdata.excel as mod
25
import petl as etl
import pandas as pd
import cdata.excel as mod
26

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

Làm cách nào để trích xuất dữ liệu cụ thể từ Excel sang Python?

Phương pháp 2. Đọc tệp excel bằng Python bằng openpyxl . The load_workbook[] function opens the Books. tệp xlsx để đọc. Tệp này được truyền dưới dạng đối số cho hàm này.

Python có thể ghi vào Excel không?

XlsxWriter là một mô-đun Python để ghi tệp ở định dạng tệp XLSX. Nó có thể được sử dụng để viết văn bản, số và công thức vào nhiều trang tính

Chủ Đề