Cách đọc các cột từ tệp văn bản trong Python
Bài viết này sẽ cung cấp cho bạn hướng dẫn chi tiết về cách bạn có thể sử dụng Python để đọc các tệp văn bản lớn. Đoạn mã đầy đủ chức năng, sẵn sàng để thực thi được bao gồm trong hướng dẫn này để giúp bạn tăng tốc trong 10 phút sau khi đọc bài viết này Show
Trước tiên, hãy để chúng tôi làm quen với các cấu trúc dữ liệu nâng cao có sẵn trong Python mà chúng tôi sẽ sử dụng để lưu trữ và xử lý dữ liệu từ các tệp, chỉ trong trường hợp bạn chưa quen với lập trình Python Cấu trúc dữ liệu nâng cao trong PythonPython có hai cấu trúc dữ liệu tiên tiến và mạnh mẽ giúp nó vượt trội về chức năng so với C/C++. Điều này làm cho nó trở thành một ngôn ngữ lý tưởng cho các ứng dụng cần nhiều dữ liệu số cạnh tranh với Matlab ndarrays và khung dữ liệu Chuyển thể từ tài liệu nguồn mở Numpy và Pandas Mảng NumPyMảng Numpy hoặc ndarray là các mảng có thể được thu nhỏ theo kích thước 'n'. Chúng được sử dụng tốt nhất dưới dạng cấu trúc mảng hai chiều để biểu diễn ma trận. Bản thân mô-đun Numpy chứa các thư viện hàm mạnh mẽ cho nhiều phép toán số và đại số Khung dữ liệu gấu trúcKhung dữ liệu được xây dựng dựa trên ndarray hai chiều để thêm chức năng bổ sung. Ndarray hai chiều hiện có một cột riêng cho chỉ mục mảng và tất cả các tiêu đề cột hiện có thể định địa chỉ riêng. Quan trọng hơn, giờ đây mỗi cột có thể chứa một kiểu dữ liệu khác nhau (int, float hoặc string) Tệp văn bản được đọc bằng mã PythonHãy chuyển sang phần hướng dẫn và làm quen với tệp văn bản trình diễn Đó là bảng dữ liệu 14 hàng x 20 cột được lưu dưới dạng tệp txt. Nó chứa dữ liệu ở cả ba định dạng dữ liệu. int, float và chuỗi. Tên tệp là BusData hình 1. Tệp dữ liệu sẽ được phân tích cú pháp bằng mã của chúng tôi Tệp CDF Hệ thống IEEE 14-Bus Tiếp theo, hãy xem đoạn mã được cung cấp bên dưới, để đọc tệp này và chúng tôi sẽ giải thích từng dòng mã này trong phần sau Mã Python để đọc dữ liệu từ tệp văn bản
Giải thích mãĐây là một lời giải thích về những gì đang xảy ra trong mã Khởi tạo. Nhập Numpy và Pandasdòng 4. Nhập gói numpy trong dự án Dòng 5. Nhập gói gấu trúc trong dự án dòng 7. Bắt đầu định nghĩa hàm Read(). Luôn luôn là một cách tốt để phá vỡ mã của bạn trong các chức năng Dòng 9. Định nghĩa các biến toàn cục Trong Python, chỉ các biến toàn cục mới xuất hiện trong trình khám phá biến và chúng có thể được tham chiếu bên ngoài các hàm. Để trình diễn, tôi đã định nghĩa cả bốn là toàn cầu. Mặt khác, chỉ có biến BusDataReshape được khai báo toàn cục Hình 2. Trình khám phá biến Spyder hiển thị chi tiết của mọi biến Bản quyền © Ali Khan (Tác giả) Mở và đọc tệp mục tiêuDòng 11. Hàm open() trỏ đến vị trí thư mục của tệp BusData. txt. Định nghĩa được gán cho biến ngẫu nhiên X Dòng 12. read() đọc toàn bộ tệp dưới dạng chuỗi và gán nó cho biến BusData. Hình 2 cho thấy BusData hiện là một chuỗi có 1792 ký tự Tách tệp nhân vật khôn ngoanDòng 14. split() trong Python, chia chuỗi thành một danh sách tại các điểm mà chúng là khoảng trắng. Dữ liệu hiện được chuyển đổi thành danh sách gồm 280 phần tử và được gán cho biến BusDataList. Tham khảo Hình 2 Chuyển đổi sang mảng NumpyDòng 15. Danh sách được chuyển đổi thành một mảng numpy bởi numpy. hàm mảng (). Hình 2 cho thấy BusDataArray bây giờ là một mảng chuỗi kiểu dữ liệu và có 280 phần tử Vấn đề là nó vẫn không giống như bảng dữ liệu ban đầu của chúng tôi trong tệp. Nó cần phải được định hình lại Dòng 16. các numpy. reshape() hàm từ gói numpy định hình lại mảng thành các kích thước mong muốn của chúng ta là 14 x 20. Hình 2 cho thấy biến BusDataReshape bây giờ là một ndarray và có kích thước 14 x 20 Như chúng ta có thể thấy, kiểu dữ liệu của tất cả các giá trị vẫn là chuỗi, nhưng hãy nhớ rằng, tệp gốc có cả số nguyên và số float trong dữ liệu. Để đảm bảo rằng tất cả dữ liệu được xử lý theo đúng loại dữ liệu của nó, chúng tôi cần chuyển đổi nó thành Khung dữ liệu Pandas Hình 3. BusDataFrame, hiển thị 13 cột đầu tiên trong trình khám phá biến Bản quyền © Ali Khan (Tác giả) Chuyển đổi một mảng Numpy thành khung dữ liệuDòng 20. Dòng này cuối cùng thực hiện công việc chuyển đổi một chuỗi các chuỗi thành một khung dữ liệu gấu trúc gấu trúc. Hàm dataframe() lấy mảng numpy được định hình lại và tên của tất cả 20 tiêu đề cột làm đầu vào. Hình 3 hiển thị khung dữ liệu đã hình thành và Hình 2 xác minh điều này trong trình khám phá biến hình 4. Kết quả in Giá trị tham chiếu của khung dữ liệu Pandasdòng 22. Các giá trị của khung dữ liệu này có thể được khung dữ liệu truy cập rất thuận tiện. đầu mục. [chỉ mục] cú pháp Kiểm tra các loại biến sẽ cho thấy rằng cả ba loại dữ liệu chuỗi, số nguyên và số float của mỗi cột đều được khung dữ liệu tự động bảo toàn Bài viết này là chính xác và đúng với sự hiểu biết tốt nhất của tác giả. Nội dung chỉ nhằm mục đích cung cấp thông tin hoặc giải trí và không thay thế cho lời khuyên cá nhân hoặc lời khuyên chuyên nghiệp trong các vấn đề kinh doanh, tài chính, pháp lý hoặc kỹ thuật |