Đọc tất cả tệp csv trong thư mục python
Hướng dẫn này là một tập hợp con nhỏ của một dự án mà tôi đã thực hiện gần đây. Nhiệm vụ ở đây là hợp nhất dữ liệu từ nhiều tệp csv thành một tệp sao cho không có thông tin nào bị mất và việc hợp nhất các cột từ tất cả các tệp được thực hiện mà không có bất kỳ sự mâu thuẫn nào Show Bạn đã bao giờ gặp trường hợp có nhiều bảng có một cột chung và phải hợp nhất chúng dựa trên khóa chính chưa? . Có, nhưng điều gì sẽ xảy ra nếu tôi nói rằng chúng ta có mỗi bảng được lưu trữ trong một tệp csv, vì vậy mỗi tệp csv là một bảng. Và có 10 csv trong 5 thư mục khác nhau tức là. 50 tệp csv trong tất cả. Nhiệm vụ ở đây là hợp nhất tất cả csv trong mỗi thư mục và tạo một csv chính để cuối cùng chúng ta sẽ có 5 tệp csv chính. Tập dữ liệu ở đây liên quan đến lưu lượng truy cập trang web Về dữ liệuHãy để tôi cung cấp cho bạn một cái nhìn nhanh về cấu trúc thư mục Năm > Lượt xem quốc gia > 10 tệp csv Tương tự, cả 4 thư mục còn lại đều có cấu trúc tương tự. Tất cả csv đều có 2 cột, một cột là chính tham số và cột còn lại là giá trị hoặc số lần truy cập mà tham số nhận được. Mỗi tệp csv đại diện cho một năm. Số hàng có thể tăng hoặc giảm và một số hàng có thể lặp lại với các năm khác nhau. Do đó, chúng tôi cần đảm bảo tại thời điểm hợp nhất không có dữ liệu nào bị mất Chúng ta có thể làm điều này bằng cách sử dụng SQL và để lại các phép nối ngoài hoặc sử dụng hàm VLookUp trong excel nhưng điều đó sẽ rất tốn thời gian. Đây, Python đến để giải cứu chúng tôi Chúng tôi sẽ tự động hóa tác vụ này với python và tạo một hàm sẽ lấy một đầu vào duy nhất làm đường dẫn của thư mục 'Năm' và tạo một csv chính mới trong mỗi thư mục con cho chúng tôi trong một cuộc gọi. Tích tụ đủ rồi, bắt tay vào việc nào Nhập thư viện cần thiết import pandas as pd Cách tiếp cận
Chức năng của chúng tôi sẽ là một iterator. Ở đây, tôi sẽ hướng dẫn bạn qua một lần lặp lại để dễ hiểu và sau đó chúng tôi sẽ chuyển đổi nó thành một hàm động. Chúng ta sẽ sử dụng quá nhiều danh sách và vòng lặp for Bước 1 Phân tích cú pháp thông qua thư mục chính 'Năm' và lưu trữ tên của tất cả các thư mục con trong danh sách data_dir = r’E:\Year’ Bước 2 Lặp lại tất cả các tệp trong thư mục con 'Nhấp chuột' và lưu trữ đường dẫn tệp của chúng trong danh sách 'all_files' path = os.path.join(data_dir, sub_folders[0]) Bước 3 Tạo danh sách dữ liệu của tệp mới dưới dạng khung dữ liệu 'li' li = [] li[0] Nhìn thoáng qua chỉ mục đầu tiên trông như thế nào trong danh sách 'li' Bước 4 Tạo một danh sách 'năm' sẽ trích xuất tất cả các năm từ tên tệp bằng thư viện re year = [] Bước 5 Hợp nhất tất cả dữ liệu từ mỗi khung dữ liệu với nối ngoài bên trái từng cái một bắt đầu từ chỉ mục 0 và 1. Trước đó, chúng tôi sẽ thêm thay thế tất cả các giá trị trống bằng 0 trong tất cả các khung dữ liệu li[index].fillna(0) Bước 6 Hãy để chúng tôi đổi tên các cột khi tần suất được thêm vào tất cả các tên cột mới được tạo bằng phép nối left.columns = year Cuối cùng, chúng ta hãy xuất khung dữ liệu với tên tệp thích hợp trong thư mục con 'Nhấp chuột' ________số 8_______Như vậy là ta đã hoàn thành xuất sắc nhiệm vụ trong tay. Bây giờ chúng ta hãy đặt tất cả các đoạn mã trong một chức năng duy nhất def combine_data(data_dir): gọi hàm data_dir = r’E:\Year’ 0Cảm ơn bạn đã đọc bài viết. Vui lòng liên hệ với bất kỳ mối quan tâm, làm rõ hoặc vấn đề bản quyền nào trên kakadiya95@gmail. com. Ngoài ra, bạn có thể nhắn tin cho tôi trên trang Linkedin của tôi. Ngoài ra, hãy kiểm tra tài khoản github của tôi Làm cách nào để đọc tất cả các tệp CSV trong một thư mục trong gấu trúc python?# Đọc tệp CSV từ Danh sách df = pd. concat(bản đồ(pd. . # Nhập thư viện nhập toàn cầu nhập gấu trúc dưới dạng pd # Nhận danh sách tệp CSV từ đường dẫn thư mục = '/apps/data_csv_files csv_files = global. . df = pd. . # Bằng cách sử dụng hàm def readcsv(args). trả lại pd. . # Sử dụng dask nhập thư viện dữ liệu Làm cách nào để đọc tệp CSV từ thư mục bằng Python?Các bước để nhập tệp CSV vào Python bằng Pandas . Bước 1. Nắm bắt đường dẫn tệp. Đầu tiên, nắm bắt đường dẫn đầy đủ nơi tệp CSV của bạn được lưu trữ. . Bước 2. Áp dụng mã Python. . Bước 3. Chạy mã. . Bước tùy chọn. Chọn tập hợp con của các cột Làm cách nào để lấy tên của tất cả các tệp CSV trong một thư mục bằng Python?Để định vị tất cả các tệp CSV, có thể không biết tên, mô-đun toàn cầu được gọi và phương thức toàn cục của nó được gọi. Nó được cung cấp đường dẫn sử dụng glob. hình cầu (đường dẫn) . Điều này trả về danh sách tất cả các tệp CSV nằm trong đường dẫn.
Làm cách nào để đọc nhiều tệp csv trong python mà không cần gấu trúc?Thư viện tích hợp sẵn của CSV Python có thể được sử dụng để đọc các tệp csv mà không cần sử dụng gấu trúc. Ở đây chúng ta đang sử dụng hàm reader() để đọc dữ liệu từ tệp . Mặc dù load_csv() là một chức năng hữu ích, nhưng nó có một số hạn chế. Trong khi đọc tệp, nó không xử lý các khoảng trống/hàng. |