Bởi vì Python không cung cấp phương thức trực tiếp để xóa một dòng cụ thể trong một tệp, nên chúng ta cần phải tìm cách tiếp cận của riêng mình Show Trong hướng dẫn này, chúng tôi sẽ đề cập đến một số cách xóa dòng khỏi tệp văn bản bằng Python. Chúng ta sẽ xem cách xóa các dòng dựa trên vị trí của chúng trong tài liệu và cách xóa nội dung khớp với một chuỗi Chúng tôi cũng sẽ đề cập đến các ví dụ về cách sử dụng logic tùy chỉnh để giải quyết các vấn đề khó khăn hơn. Không thành vấn đề nếu chúng ta đang làm việc với một tệp văn bản đơn giản hay các tệp được phân tách bằng dấu phẩy (CSV) phức tạp hơn, những kỹ thuật này sẽ giúp bạn quản lý dữ liệu của mình Chúng ta có thể sử dụng Python để xử lý cả tệp lớn và tệp nhỏ theo cách hiệu quả về bộ nhớ Sử dụng một số để xóa một dòngTrong ví dụ đầu tiên của chúng tôi, chúng tôi sẽ xem xét xóa một dòng dựa trên vị trí của nó trong tệp. Bắt đầu với danh sách tên được tạo ngẫu nhiên được lưu trên máy tính của chúng tôi, chúng tôi sẽ sử dụng Python để xóa tên khỏi danh sách dựa trên thứ tự xuất hiện trong danh sách Các tập tin được gọi là tên. txt và nó được lưu trong cùng thư mục với tệp python của chúng tôi. Mục tiêu của chúng tôi là xóa dòng thứ 7 trong tệp. Trong Python, chúng ta có thể sử dụng câu lệnh with để mở tệp một cách an toàn. Khi tệp đang mở, chúng tôi sẽ sử dụng phương thức readlines() để truy xuất danh sách chứa nội dung của tệp Đó là tất cả để đọc danh sách tên. Tiếp theo, chúng ta sẽ sử dụng một câu lệnh with khác để mở lại tệp, lần này ở chế độ ghi. Sử dụng vòng lặp for để lặp qua các dòng của tệp, chúng tôi cũng sử dụng một biến để theo dõi số dòng hiện tại. Khi chúng tôi đến dòng chúng tôi muốn xóa, câu lệnh if đảm bảo chúng tôi bỏ qua dòng Hãy đi qua các bước một lần nữa
Bởi vì chúng tôi đang sử dụng câu lệnh Python with để xử lý tệp, nên không cần phải đóng tệp sau khi chúng tôi thực hiện xong. Python chăm sóc điều đó cho chúng tôi tên. txt ví dụ 1. Xóa một dòng dựa trên một số dòng được chỉ định
Bằng cách gói logic của chúng ta trong một hàm, chúng ta có thể dễ dàng xóa một dòng khỏi tệp bằng cách gọi hàm remove_lines() và chuyển tên của tệp cũng như số dòng mà chúng ta muốn xóa Nếu chúng ta dự định sử dụng một khối mã Python nhiều lần, thì tốt nhất là bọc nó trong một hàm. Làm như vậy sẽ giúp chúng ta tiết kiệm thời gian và năng lượng Xóa một dòng bằng cách khớp nội dungChúng tôi đã xem cách xóa nội dung khỏi tệp dựa trên vị trí dòng của nó. Bây giờ chúng ta sẽ xem cách xóa một dòng khớp với một chuỗi đã cho Chúng tôi có một danh mục các bài đồng dao, nhưng ai đó đã chơi xấu chúng tôi một chút. Thật trớ trêu, họ đã thêm dòng "Dòng này không thuộc về" vào tệp của chúng tôi Không cần phải hoảng sợ. Chúng ta có thể sử dụng Python để dễ dàng hoàn tác trò nghịch ngợm. Trong mã Python của chúng tôi, chúng tôi sẽ bắt đầu bằng cách đọc tệp có tên ity_bitsy. txt và lưu trữ nội dung của nó trong một biến có tên là lines Giống như trong ví dụ trước, chúng tôi sẽ sử dụng Python với các câu lệnh để mở tệp. Để tìm dòng phù hợp, chúng ta cần xóa các ký tự xuống dòng mà readlines() gắn vào cuối mỗi chuỗi Chúng ta có thể xóa ký tự xuống dòng bằng hàm strip(). Đây là một chức năng tích hợp giúp xóa các ký tự ở đầu hoặc cuối chuỗi Khi tìm thấy nội dung phù hợp, chúng tôi sẽ sử dụng câu lệnh if để chuyển nội dung đó qua, loại bỏ nội dung đó khỏi tệp cũ một cách hiệu quả itsy_bitsy. txt ví dụ 2. Khớp nội dung và xóa nội dung khỏi tệp
Sử dụng Logic tùy chỉnh để xóa một dòng trong PythonKhi xử lý dữ liệu tệp, chúng tôi thường cần các giải pháp tùy chỉnh phù hợp để đáp ứng nhu cầu của mình. Trong các ví dụ sau, chúng ta sẽ khám phá cách sử dụng logic tùy chỉnh để giải quyết nhiều vấn đề về dữ liệu Bằng cách điều chỉnh các giải pháp của chúng tôi, có thể giải quyết các vấn đề khó khăn hơn. Ví dụ: điều gì sẽ xảy ra nếu chúng tôi muốn xóa một dòng khỏi tệp nhưng chỉ biết một phần của nó? Ngay cả khi chúng ta chỉ biết một từ duy nhất, chúng ta có thể sử dụng Python để tìm dòng cần xóa. Bằng cách tận dụng các phương thức tích hợp sẵn của Python, chúng ta sẽ xem cách giải quyết các thách thức tùy chỉnh bằng mã Python Xóa một dòng bằng một chuỗi cụ thểTrong bài tập tiếp theo, chúng ta sẽ xem cách xóa một dòng chứa một phần của chuỗi. Dựa trên kiến thức thu được từ các ví dụ trước, có thể xóa một dòng chứa chuỗi con đã cho Trong Python, phương thức find() có thể được sử dụng để tìm kiếm một chuỗi cho một chuỗi con. Nếu chuỗi chứa chuỗi con, hàm trả về một chỉ số đại diện cho vị trí của nó. Nếu không, phương thức trả về -1 Trong một tệp văn bản có tên là báo cáo. txt, chúng tôi có một danh sách các câu được tạo ngẫu nhiên. Chúng ta cần loại bỏ bất kỳ câu nào chứa chuỗi con đã cho Bằng cách sử dụng find(), chúng tôi sẽ biết liệu một dòng có chứa chuỗi mà chúng tôi đang tìm kiếm hay không. Nếu có, chúng tôi sẽ xóa nó khỏi tệp Đây là cú pháp sử dụng find()
câu lệnh. txt ví dụ 3. Xóa một dòng chứa một chuỗi đã cho
Xóa dòng ngắn nhất trong tệpHãy cùng xem lại câu lệnh. txt. Một số thay đổi đã được thực hiện. Chúng tôi đã thêm một số dòng mới. Lần này, chúng ta cần xóa dòng ngắn nhất trong tài liệu. Chúng ta có thể làm điều này bằng cách sử dụng phương thức len() để tìm độ dài của mỗi dòng. Ví dụ 4. Xóa dòng ngắn nhất trong tệp bằng phương thức len()
Bản tóm tắtVới bài đăng này, chúng tôi đã đề cập đến một số phương pháp xóa dòng khỏi tệp trong Python. Chúng tôi đã thấy rằng chúng tôi có thể xóa các dòng dựa trên vị trí của chúng trong tệp bằng cách sử dụng vòng lặp for Chúng tôi cũng có thể xóa các tệp khớp với nội dung bằng cách so sánh các chuỗi, bằng toán tử == hoặc bằng cách sử dụng phương thức find() Đây chỉ là một số cách người ta có thể xóa các dòng khỏi tệp trong Python bài viết liên quanNếu bạn muốn tìm hiểu thêm về cách làm việc với chuỗi và dữ liệu tệp trong Python, hãy truy cập vào các liên kết bên dưới
Có liên quanĐào tạo Python được đề xuấtKhóa học. Python 3 cho người mới bắt đầu Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến thức cơ bản |