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