Hướng dẫn python function to extract data - hàm python để trích xuất dữ liệu

Một trong những tính năng quan trọng nhất của ScrapingBee, là khả năng trích xuất dữ liệu chính xác mà không cần xử lý hậu kỳ nội dung yêu cầu bằng các thư viện bên ngoài.

Chúng ta có thể sử dụng tính năng này bằng cách chỉ định một tham số bổ sung với tên & nbsp; ________ 21. Chúng tôi chỉ định nhãn của các yếu tố chúng tôi muốn trích xuất, bộ chọn CSS và ScrapingBee của họ sẽ làm phần còn lại!

Hãy nói rằng chúng tôi muốn trích xuất tiêu đề & phụ đề của trang tài liệu trích xuất dữ liệu & nbsp;. Bộ chọn CSS của họ lần lượt là

[“Jerome","Ibraheem","Tiana","Lucas","Rickie”]
2 và
[“Jerome","Ibraheem","Tiana","Lucas","Rickie”]
3. Để đảm bảo rằng họ là những người chính xác, bạn có thể sử dụng chức năng JavaScript: & nbsp; ____ ____ 24 & nbsp; trong trang điều khiển công cụ phát triển của nhà phát triển.

Mã đầy đủ sẽ trông như thế này:

from scrapingbee import ScrapingBeeClient # Importing SPB's client
client = ScrapingBeeClient(api_key='YOUR-API-KEY') # Initialize the client with your API Key, and using screenshot_full_page parameter to take a screenshot!

response = client.get("https://www.scrapingbee.com/documentation/data-extraction/", params={
'extract_rules':{
                 "title": "h2",
                 "subtitle": "span.text-20"
                }
}) # Scrape!
if response.ok:
    print(response.content)

Và như bạn có thể thấy, kết quả là:

[“Jerome","Ibraheem","Tiana","Lucas","Rickie”]
5

Bạn có thể tìm thấy thêm về tính năng này trong tài liệu của chúng tôi: & NBSP; Khai thác dữ liệu. Và thêm về các bộ chọn CSS trong & nbsp; w3schools - css selectors & nbsp; page.

Quay lại hướng dẫn

Phương pháp 2: Đọc một tệp excel bằng Python bằng cách sử dụng chức năng OpenPyXL the Load_Workbook () Mở các cuốn sách. Tệp XLSX để đọc. Tệp này được truyền như một đối số cho chức năng này. Đối tượng của DataFrame.

Làm thế nào để bạn trích xuất dữ liệu?

  • Có ba bước trong quá trình ETL:.
  • Khai thác: Dữ liệu được lấy từ một hoặc nhiều nguồn hoặc hệ thống. ....

Chuyển đổi: Một khi dữ liệu đã được trích xuất thành công, nó đã sẵn sàng để được tinh chỉnh. ....
Input:

get_data(list_1, “name”)

Output:

[“Jerome","Ibraheem","Tiana","Lucas","Rickie”]

Đang tải: Dữ liệu chất lượng cao được chuyển đổi sau đó được gửi đến một vị trí mục tiêu thống nhất duy nhất để lưu trữ và phân tích ..
Input:

get_data(list_1, “weight”)

Output:

[3.38,3.08,0.81,3.33,4.4]

Tôi đang đấu tranh với vấn đề này:

def main(list_1):
    return main
     
list_1 = [
               {'name': 'Jerome', 'weight': 3.38, 'wingspan': 49.96, 'length': 19.75},
               {'name': 'Ibraheem', 'weight': 3.08, 'wingspan': 50.59, 'length': 20.6},
               {'name': 'Tiana', 'weight': 0.81, 'wingspan': 47.86, 'length': 17.94},
               {'name': 'Lucas', 'weight': 3.33, 'wingspan': 48.27, 'length': 18.77},
               {'name': 'Rickie', 'weight': 4.4, 'wingspan': 51.0, 'length': 20.34}
         ]
     
def get_data(data,key):
    for key in data:
        return key
data = list_1
key = []
output = get_data(data,key)
print(output)

Khi mọi người lưu dữ liệu ở định dạng JSON hoặc CSV, họ sẽ có ý định truy cập dữ liệu đó theo chương trình. Nhưng phần lớn dữ liệu của thế giới được lưu trữ trong các tệp bảng tính và nhiều tệp trong số đó ở định dạng Excel. Excel được sử dụng vì mọi người có thể điều khiển nó một cách dễ dàng và nó là một công cụ mạnh mẽ theo đúng nghĩa của nó. Tuy nhiên, có rất nhiều tự động hóa có thể được thực hiện bằng cách trích xuất dữ liệu từ bảng tính và quy trình này cũng cho phép bạn mang dữ liệu từ nhiều loại nguồn vào một chương trình.

Trước tiên, chúng tôi sẽ xem nhanh cách lưu tệp Excel dưới dạng tệp CSV. Đây đôi khi là cách nhanh nhất và dễ nhất để trích xuất dữ liệu. Nhưng nó là một quy trình thủ công, do đó, bạn phải mở tệp trong Excel và lưu nó dưới dạng CSV một lần nữa mỗi khi tệp được cập nhật. Nó tốt hơn nhiều trong nhiều tình huống chỉ trích xuất dữ liệu từ Excel trực tiếp.

Ví dụ mà chúng tôi sẽ sử dụng là dữ liệu bạn có thể tải xuống từ việc lập bản đồ bạo lực của cảnh sát. Nếu bạn có thể tải xuống tệp này từ trang web vì một số lý do, bạn cũng có thể tìm thấy một ảnh chụp nhanh của bảng tính này từ ngày 19/6/20 trong thư mục

get_data(list_1, “weight”)
3 của các tài nguyên trực tuyến cho khóa học về sự cố Python.

  • Chuyển đổi tệp Excel thành CSV
  • Cài đặt OpenPyXL
  • Mở tệp Excel
  • Truy cập dữ liệu trong bảng tính
  • Truy cập dữ liệu từ các ô
  • Trích xuất dữ liệu từ các ô cụ thể
  • Tái cấu trúc
  • Đọc thêm

Chuyển đổi tệp Excel thành CSV

Cài đặt OpenPyXL

Mở tệp Excel

Truy cập dữ liệu trong bảng tính

Cài đặt OpenPyXL

Mở tệp Excel

$ pip install --user openpyxl

Truy cập dữ liệu trong bảng tính

Mở tệp Excel

Truy cập dữ liệu trong bảng tính

Truy cập dữ liệu từ các ô

from openpyxl import load_workbook

data_file = 'data/mapping_police_violence_snapshot_061920.xlsx'

# Load the entire workbook.
wb = load_workbook(data_file)

# List all the sheets in the file.
print("Found the following worksheets:")
for sheetname in wb.sheetnames:
    print(sheetname)

Trích xuất dữ liệu từ các ô cụ thể

Tái cấu trúc

Found the following worksheets:
2013-2019 Police Killings
2013-2019 Killings by PD
2013-2019 Killings by State
Police Killings of Black Men

Truy cập dữ liệu trong bảng tính

Truy cập dữ liệu trong bảng tính

Truy cập dữ liệu từ các ô

from openpyxl import load_workbook

data_file = 'data/mapping_police_violence_snapshot_061920.xlsx'

# Load the entire workbook.
wb = load_workbook(data_file)

# Load one worksheet.
ws = wb['2013-2019 Killings by State']
all_rows = list(ws.rows)

print(f"Found {len(all_rows)} rows of data.")

print("\nFirst rows of data:")
for row in all_rows[:5]:
    print(row)

Trích xuất dữ liệu từ các ô cụ thể

get_data(list_1, “name”)
0

Trong bảng tính này, chúng tôi đã tìm thấy 55 hàng dữ liệu. Mỗi hàng dữ liệu được tạo thành từ một loạt các đối tượng ô.

đứng đầu

Truy cập dữ liệu từ các ô

Cho đến nay chúng tôi đã truy cập tệp Excel, một bảng tính riêng lẻ và một loạt các hàng. Bây giờ chúng ta có thể truy cập dữ liệu thực tế trong các ô.

Để bắt đầu, chúng tôi sẽ chỉ xem xét dữ liệu trong hàng đầu tiên:

get_data(list_1, “name”)
1

Chúng tôi lặp qua tất cả các ô trong hàng và in giá trị của mỗi ô. Điều này được truy cập thông qua thuộc tính

[3.38,3.08,0.81,3.33,4.4]
2 của đối tượng ô.

get_data(list_1, “name”)
2

đứng đầu

Truy cập dữ liệu từ các ô

Cho đến nay chúng tôi đã truy cập tệp Excel, một bảng tính riêng lẻ và một loạt các hàng. Bây giờ chúng ta có thể truy cập dữ liệu thực tế trong các ô.

get_data(list_1, “name”)
3

Để bắt đầu, chúng tôi sẽ chỉ xem xét dữ liệu trong hàng đầu tiên:

Chúng tôi lặp qua tất cả các ô trong hàng và in giá trị của mỗi ô. Điều này được truy cập thông qua thuộc tính

[3.38,3.08,0.81,3.33,4.4]
2 của đối tượng ô.

get_data(list_1, “name”)
4

Ví dụ trước là hữu ích, có lẽ, khi nhìn vào một danh sách các tiêu đề cho một bảng tính qua một kết nối từ xa. Nhưng thông thường khi chúng tôi phân tích dữ liệu từ bảng tính, chúng tôi có thể mở tệp trong Excel, tìm thông tin chúng tôi muốn và sau đó viết mã để trích xuất thông tin đó. Mặc dù vậy, chúng tôi thường quan tâm đến từng tế bào liên tiếp. Chúng tôi thường quan tâm đến các ô được chọn trong mỗi hàng trong tờ.

get_data(list_1, “name”)
5

Ví dụ sau đây lấy dữ liệu từ ba cột cụ thể trong mỗi hàng trong tệp chứa dữ liệu mà chúng tôi quan tâm:

get_data(list_1, “name”)
6

Ở đây chúng tôi lặp qua tất cả các hàng có chứa dữ liệu của các trạng thái. Đối với mỗi hàng, chúng tôi kéo các giá trị tại INDEX 0, 3 và 4 và gán từng giá trị này cho một tên biến thích hợp. Sau đó chúng tôi in một tuyên bố tóm tắt những gì các giá trị này có nghĩa là gì.

get_data(list_1, “name”)
7

Đầu ra không phải là những gì chúng tôi mong đợi:

get_data(list_1, “name”)
8

Các giá trị trong các ô này thực sự là công thức. Nếu chúng ta muốn các giá trị được tính toán từ các công thức này, chúng ta cần chuyển cờ

[3.38,3.08,0.81,3.33,4.4]
3 khi chúng ta tải sổ làm việc:

Bây giờ chúng ta thấy đầu ra mà LỚN giống như những gì chúng ta đang mong đợi:

Phân tích dữ liệu hầu như luôn luôn liên quan đến một số mức độ định dạng lại. Đối với đầu ra này, chúng tôi sẽ làm tròn tỷ lệ phần trăm đến hai vị trí thập phân và biến chúng thành các số nguyên được định dạng gọn gàng để hiển thị:

đứng đầu

Ở đây, đầu ra sạch hơn:

Hãy cẩn thận về việc làm tròn dữ liệu trong giai đoạn xử lý. Nếu bạn định chuyển dữ liệu này cho một thư viện âm mưu, có lẽ bạn muốn thực hiện làm tròn trong mã âm mưu. Điều này có thể ảnh hưởng đến hình ảnh của bạn. Ví dụ: nếu hai phần trăm làm tròn với cùng một giá trị ở hai vị trí thập phân nhưng chúng khác nhau ở vị trí thập phân thứ ba, bạn sẽ mất khả năng sắp xếp các mặt hàng một cách chính xác. Trong tình huống này, điều quan trọng là phải hỏi liệu vị trí thập phân thứ ba có ý nghĩa hay không.

get_data(list_1, “name”)
9

Ngoài ra, lưu ý rằng bạn thường sẽ cần xác định các hàng cụ thể cần được lặp lại. Bảng tính là tốt đẹp và có cấu trúc, nhưng mọi người cũng tự do viết bất cứ điều gì họ muốn trong bất kỳ ô nào. Nhiều bảng tính có một số ghi chú trong một vài ô sau tất cả các hàng dữ liệu. Đây có thể là ghi chú về các nguồn của dữ liệu thô, ngày thu thập dữ liệu, tác giả, v.v. Bạn có thể sẽ cần loại trừ các hàng này, bằng cách lặp qua một lát như được hiển thị ở đây hoặc sử dụng thử/ngoại trừ khối để chỉ trích xuất dữ liệu nếu hoạt động cho mỗi hàng thành công.

[“Jerome","Ibraheem","Tiana","Lucas","Rickie”]
0

Cuối cùng, bạn nên lưu ý rằng mọi người có thể sửa đổi các giá trị được mã hóa cứng trong bảng tính mà không cập nhật các giá trị xuất phát từ các công thức sử dụng các giá trị đó. Nếu bạn có bất kỳ nghi ngờ nào về việc liệu Splorhseet mà bạn làm việc đã được cập nhật, bạn nên tự chạy lại các công thức trước khi sử dụng cờ

[3.38,3.08,0.81,3.33,4.4]
3 khi tải sổ làm việc.

đứng đầu

Tái cấu trúc

Điều đó có lẽ đủ để bạn bắt đầu làm việc với dữ liệu mà Lừa lưu trữ trong các tệp Excel, nhưng nó đáng để hiển thị một chút tái cấu trúc trên chương trình mà chúng tôi đã sử dụng trong hướng dẫn này. Đây là những gì mã trông như thế nào vào thời điểm này:


đứng đầu

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

Để trích xuất dữ liệu bằng cách sử dụng máy quét web với Python, bạn cần làm theo các bước cơ bản sau:..
Tìm URL mà bạn muốn cạo ..
Kiểm tra trang ..
Tìm dữ liệu bạn muốn trích xuất ..
Viết mã ..
Chạy mã và trích xuất dữ liệu ..
Lưu trữ dữ liệu theo định dạng cần thiết ..

Làm thế nào trích xuất dữ liệu cụ thể từ văn bản trong Python?

Cách trích xuất các phần cụ thể của tệp văn bản bằng Python..
Hãy chắc chắn rằng bạn đang sử dụng Python 3 ..
Đọc dữ liệu từ một tệp văn bản ..
Sử dụng "với mở".
Đọc các tệp văn bản theo từng dòng ..
Lưu trữ dữ liệu văn bản trong một biến ..
Tìm kiếm văn bản cho một chuỗi con ..
Kết hợp các biểu thức thường xuyên ..
Để tất cả chúng cùng nhau..

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

Phương pháp 2: Đọc một tệp excel bằng Python bằng cách sử dụng chức năng OpenPyXL the Load_Workbook () Mở các cuốn sách.Tệp XLSX để đọc.Tệp này được truyền như một đối số cho chức năng này.Đối tượng của DataFrame.using openpyxl The load_workbook() function opens the Books. xlsx file for reading. This file is passed as an argument to this function. The object of the dataframe.

Làm thế nào để bạn trích xuất dữ liệu?

Có ba bước trong quá trình ETL:..
Khai thác: Dữ liệu được lấy từ một hoặc nhiều nguồn hoặc hệ thống.....
Chuyển đổi: Một khi dữ liệu đã được trích xuất thành công, nó đã sẵn sàng để được tinh chỉnh.....
Đang tải: Dữ liệu chất lượng cao được chuyển đổi sau đó được gửi đến một vị trí mục tiêu thống nhất duy nhất để lưu trữ và phân tích ..