Python xóa các bản sao khỏi tệp lớn

Dán các dòng vào trường, chọn bất kỳ tùy chọn nào bên dưới và nhấn Gửi. Kết quả xuất hiện ở cuối trang. Ghi chú. Xử lý một danh sách cực lớn có thể làm chậm máy tính của bạn. Xem chi tiết tại đây

Nếu bạn bắt đầu với
tia gam ma
chữ cái
phiên bản thử nghiệm
phiên bản thử nghiệm
chữ cái

Bạn sẽ kết thúc với
tia gam ma
chữ cái
phiên bản thử nghiệm

được sửa đổi bởi bất kỳ tùy chọn nào bạn chọn bên dưới

Dán các dòng vào trường bên dưới. Nhấn gửi

từ chối trách nhiệm. Bạn sử dụng DeDupeList. com hoàn toàn chịu rủi ro của riêng bạn

Trong bài viết này, chúng tôi sẽ thảo luận về cách xóa nhiều dòng được lặp lại trong Python. Nếu tệp nhỏ và chỉ có một vài dòng, quá trình xóa các dòng lặp lại khỏi tệp có thể được thực hiện thủ công. Tuy nhiên, khi xử lý các tệp lớn, Python có thể hỗ trợ

Sử dụng phương pháp xử lý tệp

Python có các phương thức tích hợp để tạo, mở và đóng tệp, giúp xử lý tệp dễ dàng hơn. Python cũng cho phép thực hiện một số hành động đối với tệp, chẳng hạn như đọc, viết và nối thêm dữ liệu, trong khi tệp đang mở

Để xóa các dòng trùng lặp khỏi tệp văn bản hoặc hàm Python, chúng tôi sử dụng các phương thức xử lý tệp trong Python. Tệp văn bản hoặc chức năng phải nằm trong cùng thư mục với. tệp py chứa chương trình Python

thuật toán

Sau đây là một cách tiếp cận để loại bỏ các dòng lặp lại trong hàm Python

  • Vì chúng tôi sẽ chỉ đọc nội dung của tệp này, trước tiên hãy mở tệp đầu vào ở chế độ chỉ đọc

  • Bây giờ, để ghi nội dung vào tệp này, hãy mở tệp đầu ra ở chế độ ghi

  • Đọc từng dòng của tệp đầu vào, sau đó kiểm tra tệp đầu ra để xem có dòng nào tương tự như dòng này được viết ở đó không

  • Nếu không, hãy thêm dòng này vào tệp đầu ra và lưu giá trị băm của dòng trong một tập hợp. Thay vì kiểm tra và lưu trữ toàn bộ dòng, thay vào đó, chúng tôi sẽ kiểm tra giá trị băm của từng dòng. Điều này hiệu quả hơn và tốn ít dung lượng hơn khi xử lý các tệp lớn

  • Bỏ qua dòng đó nếu giá trị băm đã được thêm vào tập hợp

  • Khi mọi thứ hoàn tất, tệp đầu ra sẽ chứa mọi dòng từ tệp đầu vào mà không sao chép bất kỳ thứ gì

Ở đây, tập tin đầu vào tôi. e. 'Tập tin. txt’ chứa dữ liệu sau –

Welcome to TutorialsPoint.
Welcome to TutorialsPoint.
Python programming language in this file.
eliminate repeated lines.
eliminate repeated lines.
eliminate repeated lines.
Skip the line.

Thí dụ

Sau đây là một ví dụ để loại bỏ các dòng lặp lại trong hàm Python -

đầu ra

Chúng ta có thể thấy trong kết quả đầu ra sau, tất cả các dòng lặp lại từ tệp đầu vào đều bị loại bỏ trong tệp đầu ra chứa dữ liệu duy nhất như hình bên dưới

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xóa các dòng trùng lặp khỏi tệp văn bản bằng python. Đầu tiên, chương trình sẽ đọc các dòng của một tệp văn bản đầu vào và ghi các dòng đó vào một tệp văn bản đầu ra

Trong khi viết, chúng tôi sẽ liên tục kiểm tra bất kỳ dòng trùng lặp nào trong tệp. Dòng nào viết trước thì bỏ qua dòng đó. Ví dụ, đối với tệp văn bản sau

First Line
Second Line
First Line
First Line
First Line

đầu ra sẽ là

Trước tiên hãy xem xét thuật toán

  1. Đầu tiên, mở tệp đầu vào ở chế độ đọc vì chúng tôi chỉ đọc nội dung của tệp này
  2. Mở tệp đầu ra ở chế độ ghi vì chúng tôi đang ghi nội dung vào tệp này
  3. Đọc từng dòng từ tệp đầu vào và kiểm tra xem có dòng nào tương tự như dòng này được ghi vào tệp đầu ra không
  4. Nếu không, hãy ghi dòng này vào tệp đầu ra và lưu giá trị băm của dòng vào một tập hợp. Chúng tôi sẽ kiểm tra giá trị băm của từng dòng thay vì kiểm tra và lưu trữ toàn bộ dòng. Đây là cách tiếp cận hiệu quả về không gian và tốt hơn cho một tệp lớn
  5. Nếu giá trị băm đã được thêm vào tập hợp, hãy bỏ qua dòng đó
  6. Sau khi mọi thứ hoàn tất, tệp đầu ra sẽ chứa tất cả nội dung của tệp đầu vào mà không có bất kỳ dòng trùng lặp nào

Mã nguồn có sẵn ở đây

Các số nhận xét trong chương trình trên biểu thị số bước bên dưới

  1. Trước hết, hãy lưu đường dẫn của tệp đầu vào và đầu ra trong hai biến. Thay đổi các giá trị này thành đường dẫn tệp đầu vào và đầu ra của riêng bạn. Bạn có thể kéo và thả một tệp trên thiết bị đầu cuối để tìm ra đường dẫn
  2. Tạo một biến Set. Chúng tôi đang sử dụng Set vì nó chỉ có thể chứa các biến duy nhất. Không thể thêm các biến trùng lặp vào Tập hợp
  3. Mở tệp đầu ra ở chế độ ghi. Để mở tệp ở chế độ ghi, 'w' được sử dụng. Chúng tôi đang mở tệp đầu ra ở chế độ ghi vì chúng tôi sẽ ghi vào tệp này. phương thức open[] được sử dụng để mở một tập tin
  4. Bắt đầu một vòng lặp for để đọc từng dòng từ tệp đầu vào. Chúng tôi đang mở tệp ở chế độ đọc. 'r' được sử dụng để đọc tệp ở chế độ đọc
  5. Tìm giá trị băm của dòng hiện tại. Chúng tôi đang xóa mọi khoảng trắng và một dòng mới ở cuối dòng trước khi tính toán hàm băm. thư viện hashlib được sử dụng để tìm ra giá trị băm của một dòng
  6. Kiểm tra xem giá trị băm này đã có trong biến Set hay chưa. Nếu không, điều này có nghĩa là dòng này chưa được in ra tệp đầu ra. Đặt dòng vào tệp đầu ra và thêm giá trị băm vào biến Set
  7. Cuối cùng, đóng tệp văn bản đầu ra

Phần kết luận

Tôi hy vọng rằng bạn đã tìm thấy bài viết này hữu ích. Hãy thử chạy chương trình và vui lòng liên hệ với chúng tôi nếu bạn có bất kỳ thắc mắc nào

Chủ Đề