Hướng dẫn how to remove n from text file in python - cách xóa n khỏi tệp văn bản trong python

2

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Nếu tôi muốn xóa các lần phá vỡ dòng khỏi một tệp văn bản như thế này:

hello

there

Và tôi sử dụng một mã đơn giản như thế này:

with open('words.txt') as text:
  for line in text:
    print (line.strip())

Nó xuất hiện này:

hello

there

Tuy nhiên, tôi muốn mã của mình xuất ra điều này:

hello
there

Tôi có thể làm cái này như thế nào? Cảm ơn trước.

Hỏi ngày 5 tháng 9 năm 2014 lúc 10:51Sep 5, 2014 at 10:51

Hướng dẫn how to remove n from text file in python - cách xóa n khỏi tệp văn bản trong python

2

Thêm

with open('words.txt') as text:
  for line in text:
    print (line.strip())
8 trước câu lệnh
with open('words.txt') as text:
  for line in text:
    print (line.strip())
9 của bạn.

Đã trả lời ngày 5 tháng 9 năm 2014 lúc 10:59Sep 5, 2014 at 10:59

CurdcurdCurd

11.9k3 Huy hiệu vàng34 Huy hiệu bạc47 Huy hiệu đồng3 gold badges34 silver badges47 bronze badges

0

Tôi thấy hai cách để đạt được những gì bạn muốn.

  1. Đọc từng dòng

    with open('bla.txt') as stream:
        for line in stream:
            # Empty lines will be ignored
            if line.strip():
                print(line)
    
  2. Đọc tất cả nội dung

    import re
    with open('bla.txt') as stream:
        contents = stream.read()
        print re.sub('\s$', '', contents, flags=re.MULTILINE)
    

Đã trả lời ngày 5 tháng 9 năm 2014 lúc 11:30Sep 5, 2014 at 11:30

Nếu dòng duy nhất của nó bạn muốn xóa, bạn có thể sử dụng

hello

there
0

hoặc nếu nó chỉ sử dụng trả lại carraige thay vì newlines (*nix) thì

hello

there
1

James

Đã trả lời ngày 5 tháng 9 năm 2014 lúc 10:57Sep 5, 2014 at 10:57

James Kentjames KentJames Kent

5.533333 Huy hiệu bạc48 Huy hiệu đồng23 silver badges48 bronze badges

Bạn cần kiểm tra xem một dòng trống hoặc không để giải quyết vấn đề này.

with open('words.txt') as text:
    for line in text:
        if line:
            print (line.strip())

Trong các dây trống Python là giả. Đó là, một bài kiểm tra if trên một chuỗi trống sẽ được coi là sai.

Đã trả lời ngày 5 tháng 9 năm 2014 lúc 11:01Sep 5, 2014 at 11:01

EtseetseEtse

1.21515 huy hiệu bạc27 Huy hiệu đồng15 silver badges27 bronze badges

  • Unknown.PY
  • Ngày 28 tháng 12 năm 2021

Ký tự '\ n' đại diện cho dòng mới trong lập trình Python. Tuy nhiên, hướng dẫn này sẽ hiển thị cho bạn các phương pháp khác nhau để loại bỏ các dòng mới khỏi tệp văn bản.'\n' character represents the new line in python programming. However, this tutorial will show you various methods to remove the newlines from a text file.

Trước khi bắt đầu, chúng tôi hãy xem đầu ra của tệp của chúng tôi, chúng tôi muốn xóa tất cả các dòng mới khỏi nó.

# Open the file
my_file = open('my_file.txt', 'r')

# Read my_file with newlines character
output = repr(my_file.read())

# Output
print(output)

# Close the file
my_file.close()

Output:

'\nHello World\nHello Python\nHello Javascript\n

Lưu ý: Tôi đã sử dụng hàm repr () để in đầu ra của tệp bằng ký tự '\ n'.: I've used the repr() function to print the file's output with the '\n' character.

Bây giờ, hãy bắt đâù.

Phương thức số 1: Xóa dòng mới khỏi tệp bằng cách sử dụng thay thế ()

Phương thức thay thế () thay thế một cụm từ được chỉ định bằng một cụm từ được chỉ định khác. Do đó, chúng tôi sẽ sử dụng phương pháp này để thay thế ký tự mới bằng một giá trị.replace() method replaces a specified phrase with another specified phrase. Therefore, we'll use this method to replace the newline character with a non-value.

Cú pháp

.replace('\n', '')

Thí dụ

with open('words.txt') as text:
  for line in text:
    print (line.strip())
0

Output:

with open('words.txt') as text:
  for line in text:
    print (line.strip())
1

Sự kết luận

Chúng tôi đã học các phương pháp khác nhau để loại bỏ các dòng mới khỏi tệp văn bản trong bài viết này. Hơn nữa, nếu bạn muốn loại bỏ các dòng mới từ đầu hoặc cuối tệp văn bản, bạn nên sử dụng các phương thức Dải () và Rstrip ().splitlines() method splits a string at the newline break and returns the result as a list.

Tuy nhiên, chúng tôi sẽ sử dụng splutlines () để phân chia đầu ra của tệp ở '\ n' và & nbsp; tham gia () & nbsp; phương thức để tham gia kết quả.'\n' and the join() method to join the result.

Cú pháp

with open('words.txt') as text:
  for line in text:
    print (line.strip())
2

Thí dụ

with open('words.txt') as text:
  for line in text:
    print (line.strip())
3

Output:

with open('words.txt') as text:
  for line in text:
    print (line.strip())
1

Phương pháp #3: & nbsp; Xóa các dòng mới khỏi tệp bằng Regex

Chúng ta cũng có thể sử dụng hàm re.sub () để loại bỏ các dòng mới khỏi tệp văn bản.re.sub() function to remove the newlines from a text file.

Cú pháp

with open('words.txt') as text:
  for line in text:
    print (line.strip())
5

Thí dụreplace() function.

Thí dụ

with open('words.txt') as text:
  for line in text:
    print (line.strip())
6

Output:

with open('words.txt') as text:
  for line in text:
    print (line.strip())
1

Phương pháp #3: & nbsp; Xóa các dòng mới khỏi tệp bằng Regex

Chúng ta cũng có thể sử dụng hàm re.sub () để loại bỏ các dòng mới khỏi tệp văn bản.

Làm cách nào để xóa các ký tự đặc biệt khỏi một tệp trong Python?

Sử dụng 're ...
Mùi [^a-za-z0....
Tất cả các ký tự được khớp sẽ được thay thế bằng một chuỗi trống ..
Tất cả các ký tự ngoại trừ bảng chữ cái và số được xóa ..

Rstrip có loại bỏ \ n không?

Cách kinh điển để dải các ký tự cuối dòng (EOL) là sử dụng phương thức chuỗi rstrip () loại bỏ bất kỳ dấu vết nào \ r hoặc \ n.use the string rstrip() method removing any trailing \r or \n.

Làm cách nào để loại bỏ RN khỏi chuỗi trong Python?

Sử dụng phương thức str.rstrip () để xóa \ r \ n khỏi chuỗi trong python, ví dụ:kết quả = my_str.rstrip (). rstrip() method to remove \r\n from a string in Python, e.g. result = my_str. rstrip() .

Làm cách nào để loại bỏ ký tự dòng mới trong một tệp văn bản?

Trong menu Tệp, nhấp vào Tìm kiếm và sau đó thay thế.Trong hộp thay thế, trong phần tìm phần nào, gõ ^\ r \ n (năm ký tự: Caret, Backslash 'r' và Backslash 'n').Để trống thay thế với phần trống trừ khi bạn muốn thay thế một dòng trống bằng văn bản khác.