Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách xóa ký tự xuống dòng [\n] khỏi một tệp văn bản đã cho bằng python
Giả sử chúng tôi đã lấy một tệp văn bản có tên TextFile. txt bao gồm một số văn bản ngẫu nhiên. Chúng tôi sẽ xóa ký tự xuống dòng [\n] khỏi một tệp văn bản đã cho
Tệp văn bản. txt
Good Morning TutorialsPoint This is TutorialsPoint sample File Consisting of Specific source codes in Python,Seaborn,Scala Summary and Explanation Welcome TutorialsPoint Learn with a joy
Thuật toán [Các bước]
Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Tạo một biến để lưu đường dẫn của tệp văn bản
Sử dụng hàm open[][mở một tệp và kết quả là trả về một đối tượng tệp] để mở tệp văn bản ở chế độ chỉ đọc bằng cách chuyển tên tệp và chế độ làm đối số cho nó [Ở đây “r” biểu thị chỉ đọc
with open[inputFile, 'r'] as filedata:
Sử dụng hàm readlines[] [trả về một danh sách với mỗi dòng trong tệp được biểu thị dưới dạng một mục danh sách. Để giới hạn số dòng được trả về, hãy sử dụng đối số gợi ý. Không còn dòng nào được trả về nếu tổng số byte được trả về vượt quá số lượng đã chỉ định] để lấy danh sách các dòng của tệp văn bản đầu vào đã cho với một ký tự dòng mới [\n] ở cuối
file.readlines[hint]
Sử dụng hàm rstrip[] [xóa mọi ký tự ở cuối i. e, các ký tự xuất hiện ở cuối chuỗi. Ký tự cuối mặc định cần xóa là khoảng trắng] và khả năng hiểu danh sách [ở đây chúng tôi đang lặp lại trong từng dòng của danh sách bằng cách sử dụng vòng lặp for], để xóa ký tự xuống dòng [\n] khỏi danh sách các dòng ở trên của tệp văn bản và in
list comprehension: When you wish to build a new list based on the values of an existing list, list comprehension provides a shorter/concise syntax.
Đóng tệp đầu vào bằng hàm close[] [dùng để đóng tệp đã mở]
Ví dụ
Chương trình sau kiểm tra từng dòng nếu từ đã cho được tìm thấy trong một dòng từ tệp văn bản và in dòng nếu tìm thấy từ đó –
# input text file inputFile = "ExampleTextFile.txt" # Opening the given file in read-only mode with open[inputFile, 'r'] as filedata: # Reading the file lines using readlines[] linesList= filedata.readlines[] # Removing the new line character[\n] from the list of lines print[[k.rstrip['\n'] for k in linesList]] # Closing the input file filedata.close[]
đầu ra
Khi thực thi, chương trình trên sẽ tạo đầu ra sau -
['Good Morning TutorialsPoint', 'This is TutorialsPoint sample File', 'Consisting of Specific', 'source codes in Python, Seaborn,Scala', 'Summary and Explanation', 'Welcome TutorialsPoint', 'Learn with a joy']
Chúng tôi đã cung cấp cho chương trình của mình một tệp văn bản chứa một số nội dung ngẫu nhiên và sau đó mở nó ở chế độ đọc. Hàm readlines[] sau đó được sử dụng để truy xuất danh sách tất cả các dòng trong tệp. Sử dụng khả năng hiểu danh sách, chúng tôi đã xem qua từng dòng của tệp và xóa ký tự xuống dòng bằng phương thức rstrip[]. Cuối cùng, chúng tôi đã đóng tệp bằng cách in các dòng được cập nhật mà không có ký tự dòng mới
Bạn có một chuỗi rất dài hoặc một chuỗi bao gồm các ký tự thoát dòng mới [\n]. Bạn muốn sử dụng Python 3 để tự động xóa các dòng mới được thêm vào đó khỏi chuỗi, danh sách hoặc tệp của bạn
Tách dòng mới/ngắt dòng khỏi chuỗi Python
Trong bài đăng này, chúng tôi sẽ phác thảo ba phương pháp mà bạn có thể sử dụng để xóa các dòng mới khỏi một chuỗi. Chúng tôi sẽ thảo luận về từng kỹ thuật và đăng mã ví dụ cho từng trường hợp
Sử dụng phương thức dải[]
Hàm strip[] trong Python xóa mọi ký tự theo sau ở đầu và cuối chuỗi. Vì vậy, nếu các đường gạch chéo của bạn nằm trước hoặc sau chuỗi, bạn có thể sử dụng dải [] để loại bỏ chúng
Mã số
mystring = '\nThis is my string. \n'
print["With newlines:" + mystring]
print["After deleting the newlines:",mystring.strip[]]
đầu ra
With newlines:
This is my string.
After deleting the newlines: This is my string.
Sử dụng phương thức thay thế[]
Nếu bạn có một chuỗi chứa nhiều ngắt dòng, bạn có thể sử dụng phương thức thay thế và xóa/thay thế nhiều dòng mới
Mã số
________số 8đầu ra
With line breaks:This is my string
This comes in the next line.
After deleting line breaks: This is my string This comes in the next line.
Sử dụng phương thức splitlines[]
Phương thức splitlines[] giúp chuyển các dòng thành danh sách chia nhỏ. Do đó, chúng ta có thể tách chuỗi của mình thành một danh sách và sau đó nối nó để tạo thành một giá trị chuỗi
Mã số
with open[inputFile, 'r'] as filedata:0
đầu ra
with open[inputFile, 'r'] as filedata:1
Thay thế ngắt dòng bằng dấu cách
Một trường hợp phổ biến khác là đặt các khoảng trống thay vì các dòng mới trong một chuỗi. Hãy xem một ví dụ đơn giản
with open[inputFile, 'r'] as filedata:2
Điều này sẽ trả lại như sau
with open[inputFile, 'r'] as filedata:3
Hãy thay thế ngắt dòng bằng khoảng trắng và in kết quả
with open[inputFile, 'r'] as filedata:4
Điều này sẽ trở lại
with open[inputFile, 'r'] as filedata:5
Xóa dòng mới khỏi danh sách Python
Theo cách tương tự, bạn có thể dễ dàng loại bỏ các dòng mới khỏi danh sách các chuỗi
Giả sử bạn có danh sách sau
With newlines:
This is my string.
After deleting the newlines: This is my string.
0Chúng ta có thể dễ dàng loại bỏ các dòng mới khỏi các phần tử danh sách bằng cách hiểu danh sách và hàm rstrip[]
With newlines:
This is my string.
After deleting the newlines: This is my string.
1Đây là kết quả
With newlines:
This is my string.
After deleting the newlines: This is my string.
2Ngoài ra, chúng ta có thể thu được kết quả tương tự bằng cách sử dụng hàm replace[]
With newlines:
This is my string.
After deleting the newlines: This is my string.
3Chúng ta cũng có thể thay thế các ký tự xuống dòng bằng một khoảng trắng
With newlines:
This is my string.
After deleting the newlines: This is my string.
4Xóa ngắt dòng khỏi tệp
Chủ đề cuối cùng của hướng dẫn này là xóa dòng mới khỏi nội dung của tệp văn bản
Chúng tôi biết cách đọc tệp văn bản vào danh sách Python bằng readlines[]. Trong trường hợp này, chúng ta cần một cách tiếp cận hơi khác. Trước tiên, chúng tôi muốn đọc nội dung của tệp văn bản thành một chuỗi. Điều này có thể dễ dàng thực hiện bằng hàm read[] đối tượng tệp. Sau đó, chúng ta có thể thao tác chuỗi khi cần, trong trường hợp này thay thế các ký tự xuống dòng bằng khoảng trắng