Cách truy vấn dữ liệu excel bằng python

Tôi đã hướng dẫn Bạn cách lấy dữ liệu từ tệp Excel bằng ListObject và sử dụng truy vấn SQL trong VBA. Để khiến mọi thứ trở nên thú vị hơn, tôi nghĩ đã đến lúc phải làm điều gì đó khác biệt hơn. Trong bài viết này, tôi sẽ trình bày ngắn gọn cách lấy dữ liệu Excel bằng Python

Hôm nay chúng ta sẽ sử dụng cùng một dữ liệu ví dụ, như chúng ta đã sử dụng cho các phương pháp trước đây được đề cập ở trên

Tập thể dục

Mục tiêu của chúng tôi là có được số lượng hàng đáp ứng các tiêu chí của quốc gia nhất định và giá sản xuất tối thiểu [giống như trong các bài báo trước]

Trình soạn thảo mã Python

Tôi đã cài đặt PyCharm, đây là trình soạn thảo mã dành riêng cho Python. Trong bài viết này tôi sẽ không hướng dẫn Bạn cài đặt cái đó. Tất nhiên, đây không nhất thiết phải là PyCharm, nó có thể là trình chỉnh sửa mã khác, chẳng hạn như Visual Studio Code

Mã số

Khi bắt đầu dự án, Bạn cần nhập thư viện Pandas. Thư viện này rất cần thiết cho dữ liệu Excel. Nó giống như một kết nối giữa Python & Excel. Nó giống như Bạn đánh dấu vào hộp kiểm trong Tài liệu tham khảo VBE, nhưng trong thế giới Python

import pandas as pd

Cũng như các bài trước Bạn muốn tạo hàm thì bắt đầu với việc xác định hàm với 2 tham số – quốc gia và giá sản xuất như đã đề cập trong mục tiêu bài tập

Lưu ý rằng trong Python Bạn cần sử dụng def cho phụ hoặc hàm. Trong VBA Bạn cần Sub cho chương trình con hoặc Hàm cho chức năng

def countRowsForGivenParams[country: str, manufacturing_price: int]:

Cũng lưu ý rằng không cần khai báo biến trong Python. Điều tương tự cũng xảy ra với VBA, nhưng tôi thực sự thích khai báo ở mọi nơi có thể

Sau đó tải dữ liệu Excel vào Pandas pd bằng hàm read_excel – ít nhất cung cấp đường dẫn tệp [bao gồm tên tệp] cho dữ liệu Mẫu tài chính và tên của trang tính. Sổ làm việc sẽ được tải mà không cần mở tệp Excel.

financial_sample = pd.read_excel[io=r"C:\Users\plocitom\Desktop\Financial Sample.xlsx", sheet_name="Sheet1"]

Và cứ như thế Bạn đã tạo DataFrame – đối tượng Pandas được xây dựng

Sau đó, tạo bộ lọc được thực hiện từ 2 điều kiện – quốc gia được chỉ định và giá sản xuất được chỉ định

Lưu ý rằng trong Python Bạn cần sử dụng dấu bằng kép == để so sánh các giá trị, chỉ . Trong VBA trong cả hai trường hợp Bạn chỉ cần sử dụng into variable. In VBA in both cases You only need to use 1 dấu bằng.

df_filter = [financial_sample['Country'] == country] & \
            [financial_sample['Manufacturing Price'] > manufacturing_price]

Cũng lưu ý rằng trong Python Bạn có thể hoặc thậm chí nên sử dụng & ký thay vì toán tử logic And

Sau đó, đặt bộ lọc bên trong Financial_sample và kiểm tra độ dài của Khung dữ liệu được lọc bằng hàm len

result = len[financial_sample[df_filter]]

Cuối cùng, trả lại kết quả, sử dụng từ khóa trả về, trong cùng một tuyên bố như trong các bài viết trước

Lưu ý rằng trong Python Bạn có thể thực hiện việc này trong 1 biến chuỗi bằng cách sử dụng dấu ngoặc đơn {} để đặt bên trong các giá trị của biến và đặt f trước chuỗi. Trong VBA, điều đó không thực sự khả thi

return f'Country: {country}; Manufacturing Minimum Price: {manufacturing_price}; Amount: {result}'

Cũng lưu ý rằng trong Python để trả về giá trị từ hàm Bạn có thể sử dụng cụm từ khóa return. Trong VBA để trả về giá trị của hàm Bạn cần sử dụng tên của nó và gán giá trị cho nó

gọi hàm

Để gọi hàm, lấy và kiểm tra kết quả, hãy sử dụng hàm in và Chạy mã

print[countRowsForGivenParams['Canada', 100]]
print[countRowsForGivenParams['Germany', 200]]

Lưu ý rằng in bằng Python giống như Gỡ lỗi. In trong VBA

Kết quả trả về dưới đây

Country: Canada; Manufacturing Minimum Price: 100; Amount: 60
Country: Germany; Manufacturing Minimum Price: 200; Amount: 40

Process finished with exit code 0

Các kết quả ở đây trong Python giống như trong ListObject và phương thức SQL ADODB trong VBA

Tập hợp tất cả lại với nhau

________số 8

Tóm lược

Như Bạn có thể thấy có rất nhiều phương pháp để đạt được mục tiêu, không chỉ trong VBA. Ngoài ra để lấy dữ liệu Excel, có nhiều cách khác như sử dụng thư viện Pandas trong Python chẳng hạn. Hy vọng bạn tìm thấy phù hợp nhất cho chính mình

Tác giả. Tomasz Płociński

Tôi rất thạo VBA, Excel, cũng dễ dàng liên kết VBA với các ứng dụng Office khác [e. g. PowerPoint] và các ứng dụng bên ngoài [e. g. NHỰA CÂY]. Tôi cũng tham gia vào các quy trình RPA [WebQuery, DataCache, IBM Access Client Solutions], nơi tôi cũng có thể sử dụng bộ kỹ năng cơ bản về SQL của mình. Hiện tôi đang cố gắng mở rộng kiến ​​thức của mình sang hướng TypeScript/JavaScript. Xem tất cả bài viết bằng Tomasz Płociński

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

Đọc tệp Excel . Hàm có thể đọc các tệp từ HĐH bằng cách sử dụng đường dẫn thích hợp tới tệp. Theo mặc định, chức năng sẽ đọc Sheet1. The read_excel function of the pandas library is used read the content of an Excel file into the python environment as a pandas DataFrame. The function can read the files from the OS by using proper path to the file. By default, the function will read Sheet1.

Python có thể phân tích dữ liệu Excel không?

xlwings cung cấp khả năng hữu ích để tương tác liền mạch với Excel từ python . Bằng cách sử dụng mã này, bạn có thể dễ dàng xây dựng các công cụ tương tác cho chính mình hoặc cho những người dùng ít kỹ thuật hơn để lấy dữ liệu từ nhiều nguồn và phân tích dữ liệu đó trong môi trường Excel rất quen thuộc.

Python có thể tương tác với Excel không?

Có nhiều gói Python khác nhau để làm việc với Excel. Phần lớn trong số này là để đọc và ghi các tệp Excel [e. g. openpyxl và xlsxwriter]. PyXLL rất khác với các gói khác này. Thay vì chỉ cho phép bạn đọc và ghi tệp Excel, PyXLL tích hợp Python vào 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

Chủ Đề