Trích xuất dữ liệu từ excel bằng Python

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 thao tác SQL được hỗ trợ, chẳng hạn 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 thao tác không được hỗ trợ phía máy khách [thường là các hàm SQL và thao tác 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 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

Bạn có thể dễ dàng nhập tệp Excel vào Python bằng Pandas. Để hoàn thành mục tiêu này, bạn sẽ cần sử dụng read_excel

import pandas as pd

df = pd.read_excel[r'Path where the Excel file is stored\File name.xlsx']
print[df]

Lưu ý rằng đối với phiên bản Excel cũ hơn, bạn có thể cần sử dụng phần mở rộng tệp là 'xls'

Và nếu bạn có một trang tính Excel cụ thể mà bạn muốn nhập, thì bạn có thể áp dụng

import pandas as pd

df = pd.read_excel[r'Path of Excel file\File name.xlsx', sheet_name='your Excel sheet name']
print[df]

Bây giờ hãy xem lại một ví dụ bao gồm dữ liệu được nhập vào Python

Dữ liệu được nhập vào Python

Giả sử rằng bạn có bảng sau được lưu trữ trong Excel [trong đó tên tệp Excel là 'sản phẩm']

product_namepricecomputer700tablet250printer120laptop1200keyboard100

Sau đó, bạn có thể làm theo các bước bên dưới để nhập tệp Excel vào 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

Ví dụ: giả sử tệp Excel được lưu trữ theo đường dẫn sau

C. \Users\Ron\Desktop\ sản phẩm. xlsx

Trong mã Python bên dưới, bạn sẽ cần sửa đổi tên đường dẫn để phản ánh vị trí lưu trữ tệp Excel trên máy tính của bạn

Đừng quên bao gồm tên tệp [trong ví dụ của chúng tôi, đó là ‘ products ‘ được đánh dấu bằng màu xanh lam]. Bạn cũng cần bao gồm phần mở rộng tệp Excel [trong trường hợp của chúng tôi, đó là ‘ . xlsx ‘ như được đánh dấu bằng màu xanh lục].

Bước 2. Áp dụng mã Python

Đây là mã Python cho ví dụ của chúng tôi

________số 8_______

Lưu ý rằng bạn nên đặt “r” trước chuỗi đường dẫn để giải quyết các ký tự đặc biệt, chẳng hạn như ‘\’. Ngoài ra, đừng quên đặt tên tệp ở cuối đường dẫn + ‘. xlsx’

Bước 3. Chạy mã Python để nhập tệp Excel

Chạy mã Python [được điều chỉnh theo đường dẫn của bạn] và bạn sẽ nhận được tập dữ liệu sau

  product_name  price
0     computer    700
1       tablet    250
2      printer    120
3       laptop   1200
4     keyboard    100

Lưu ý rằng bạn đã nhận được kết quả giống như kết quả được lưu trữ trong tệp Excel

Ghi chú. bạn sẽ phải cài đặt gói bổ sung nếu gặp lỗi sau khi chạy mã

Nhập Lỗi. Thiếu phụ thuộc tùy chọn 'xlrd'

Sau đó, bạn có thể sử dụng phương pháp cài đặt PIP để cài đặt openpyxl cho. tập tin xlsx

pip install openpyxl

Bước tùy chọn. Chọn tập hợp con của các cột

Bây giờ nếu bạn muốn chọn một cột hoặc nhiều cột cụ thể từ tệp Excel thì sao?

Ví dụ: nếu bạn chỉ muốn chọn cột product_name thì sao?

import pandas as pd

data = pd.read_excel[r'C:\Users\Ron\Desktop\products.xlsx'] 
df = pd.DataFrame[data, columns=['product_name']]
print[df]

Chạy mã [sau khi điều chỉnh đường dẫn tệp] và bạn sẽ chỉ nhận được cột product_name

  product_name
0     computer
1       tablet
2      printer
3       laptop
4     keyboard

Bạn có thể chỉ định các cột bổ sung bằng cách tách tên của chúng bằng dấu phẩy, vì vậy nếu bạn muốn bao gồm cả cột product_name và price, bạn có thể sử dụng cú pháp này

import pandas as pd

data = pd.read_excel[r'C:\Users\Ron\Desktop\products.xlsx'] 
df = pd.DataFrame[data, columns=['product_name', 'price']]
print[df]

Bạn sẽ cần đảm bảo rằng tên cột được chỉ định trong mã khớp chính xác với tên cột trong tệp Excel. Nếu không, bạn sẽ nhận được các giá trị NaN

Phần kết luận

Bạn vừa xem cách nhập tệp Excel vào Python bằng Pandas

Đôi khi, bạn có thể cần nhập tệp CSV vào Python. Nếu đúng như vậy, bạn có thể xem hướng dẫn sau giải thích cách nhập tệp CSV vào Python bằng Pandas

Bạn cũng có thể xem Tài liệu về Pandas để tìm hiểu thêm về các tùy chọn khác nhau mà bạn có thể áp dụng đối với read_excel

Làm cách nào để trích xuất dữ liệu từ Excel bằng gấu trúc Python?

Cách tiếp cận. .
Nhập mô-đun cần thiết
Nhập dữ liệu từ tệp Excel
Tạo một cột bổ sung cho một ngày mới
Đặt chỉ mục để tìm kiếm
Xác định mẫu định dạng ngày
Ngày tìm kiếm và gán cho cột tương ứng trong Dataframe

Làm cách nào để đọc dữ liệu từ ô Excel trong Python?

Cách đọc tệp Excel bằng Python .
Lấy tham chiếu của trang tính trong một đối tượng
Lấy số lượng hàng và cột dữ liệu trong trang tính
Bắt đầu một vòng lặp cho các hàng
Bắt đầu một vòng lặp lồng nhau cho các cột
Đọc dữ liệu từ mỗi ô bằng Worksheet. getCell[]. lấy [hàng Index, cột Index]. phương thức getValue[]

Python có thể sử dụng dữ liệu từ Excel không?

Người ta có thể truy xuất thông tin từ bảng tính . Việc đọc, viết hoặc sửa đổi dữ liệu có thể được thực hiện bằng Python có thể được thực hiện bằng các phương pháp khác nhau.

Bạn có thể trích xuất dữ liệu bằng Python không?

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 của yêu cầu bằng thư viện bên ngoài . Chúng tôi có thể sử dụng tính năng này bằng cách chỉ định một tham số bổ sung có tên extract_rules.

Chủ Đề