Điều này giả định rằng tất cả dữ liệu của bạn có thể phù hợp với bộ nhớ; Nếu không, bạn sẽ phải thử chỉ tải một số bộ tệp cùng một lúc hoặc thậm chí chỉ có hai tệp cùng một lúc. Show Nó thực hiện so sánh và ghi đầu ra vào một tệp tóm tắt.csv, một hàng cho mỗi cặp tệp.
Chỉnh sửa: User1277476 làm cho một điểm tốt; Nếu bạn sắp xếp trước các tệp của mình bằng cách trao đổi (hoặc nếu chúng đã được sắp xếp theo thứ tự), bạn có thể lặp lại đồng thời thông qua tất cả các tệp của bạn, không giữ được dòng hiện tại cho mỗi bộ nhớ. user1277476 makes a good point; if you pre-sort your files by exchange (or if they are already in sorted order), you could iterate simultaneously through all your files, keeping nothing but the current line for each in memory. Điều này sẽ cho phép bạn thực hiện so sánh sâu hơn cho mỗi mục nhập Exchange - số lượng tệp chứa một giá trị hoặc giá trị n trên hoặc dưới, v.v. Bài đăng này giải thích cách so sánh hai tệp CSV và in ra sự khác biệt trong Python.compare two CSV files and print out differences in Python. Mục lục: Bắt đầu nào. Ví dụ Dữ liệu & Thư viện bổ trợTrước tiên chúng tôi phải nhập thư viện Pandas: import pandas as pd # Load pandas Hơn nữa, hãy xem xét dữ liệu ví dụ dưới đây: data1 = pd.DataFrame({'x1':range(0, 6), # Create first pandas DataFrame 'x2':['x', 'y', 'x', 'x', 'y', 'x'], 'x3':range(2, 8)}) print(data1) # Print first pandas DataFrame data2 = pd.DataFrame({'x1':range(3, 8), # Create second pandas DataFrame 'x2':['x', 'x', 'x', 'y', 'y'], 'x3':range(5, 10)}) print(data2) # Print second pandas DataFrame Đầu ra của cú pháp lập trình Python trước đó được hiển thị trong Bảng 1 và 2: Chúng tôi đã tạo hai khung dữ liệu gấu trúc với cùng một cột nhưng các giá trị khác nhau. Hãy để Viết các khung dữ liệu gấu trúc này vào hai tệp CSV riêng biệt: data1.to_csv('data1.csv', index = False) # Export pandas DataFrames to CSV data2.to_csv('data2.csv', index = False) Sau khi cú pháp Python trước đó được thực thi, bạn sẽ tìm thấy nhiều tệp CSV trong thư mục làm việc hiện tại của mình. Hai tệp này sẽ được sử dụng làm cơ sở cho ví dụ sau. Ví dụ: So sánh hai tệp CSV và in ra sự khác biệtCú pháp lập trình Python sau đây cho thấy cách so sánh và tìm sự khác biệt giữa các khung dữ liệu gấu trúc trong hai tệp CSV trong Python. Chính xác hơn, chúng tôi đang tìm kiếm các hàng tồn tại trong khung dữ liệu gấu trúc thứ hai, nhưng không phải trong khung dữ liệu đầu tiên. Trong bước đầu tiên của ví dụ này, chúng tôi đang nhập hai DataFrames Pandas: with open('data1.csv', 'r') as csv1, open('data2.csv', 'r') as csv2: # Import CSV files import1 = csv1.readlines() import2 = csv2.readlines() Tiếp theo, chúng tôi đang sử dụng một vòng lặp để kiểm tra từng dòng trong tệp CSV thứ hai nếu nó tồn tại trong tệp CSV đầu tiên. Hơn nữa, chúng tôi đang tạo một tệp CSV mới chứa tất cả các hàng chỉ tồn tại trong tệp CSV thứ hai. Làm thôi nào: with open('data_diff.csv', 'w') as outFile: # Create CSV file with differences for row in import2: if row not in import1: outFile.write(row) Bảng 3 cho thấy đầu ra của cú pháp Python trước đó - một tập dữ liệu cho thấy sự khác biệt giữa khung dữ liệu Pandas thứ nhất và thứ hai. Xin lưu ý rằng mã của hướng dẫn này một phần dựa trên chủ đề Overflow Stack này. Bạn có thể có một cái nhìn ở đó để biết thêm chi tiết về cách so sánh các bộ dữ liệu khác nhau được lưu trữ trong các tệp CSV trong Python. Video & tài nguyên hơn nữaHãy xem video sau đây trên kênh YouTube thống kê. Tôi minh họa cú pháp lập trình Python của bài viết này trong video. Video YouTube sẽ sớm được thêm vào. Ngoài ra, bạn có thể đọc một số hướng dẫn liên quan trên trang web này. Một lựa chọn các bài báo được liệt kê ở đây.
Hướng dẫn này đã trình bày cách tìm sự khác biệt giữa hai tệp CSV trong ngôn ngữ lập trình Python. Nếu bạn có thêm câu hỏi, xin vui lòng cho tôi biết trong các ý kiến dưới đây.find differences between two CSV files in the Python programming language. If you have additional questions, please let me know in the comments below. |