Hướng dẫn how do i remove a carriage return in python? - làm cách nào để xóa ký tự xuống dòng trong python?

26

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.

Tôi có một danh sách:

Cat
Dog
Monkey
Pig

Tôi có một kịch bản:

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')

Đầu ra là:

"Cat
","Dog
","Monkey
","Pig",

Tôi muốn:

"Cat","Dog","Monkey","Pig",

Tôi không thể thoát khỏi sự trở lại vận chuyển xảy ra từ việc xử lý các dòng trong danh sách. Điểm thưởng để thoát khỏi, cuối cùng. Không chắc chắn làm thế nào để chỉ tìm và xóa phiên bản cuối cùng.

Đã hỏi ngày 21 tháng 2 năm 2013 lúc 16:41Feb 21, 2013 at 16:41

Hướng dẫn how do i remove a carriage return in python? - làm cách nào để xóa ký tự xuống dòng trong python?

Chris J. Vargochris J. VargoChris J. Vargo

2.1166 huy hiệu vàng28 Huy hiệu bạc43 Huy hiệu đồng6 gold badges28 silver badges43 bronze badges

str.rstrip hoặc đơn giản là str.strip là công cụ phù hợp để phân chia return vận chuyển (newline) từ dữ liệu được đọc từ tệp. Lưu ý str.strip sẽ tước khoảng trắng từ hai đầu. Nếu bạn chỉ quan tâm đến việc tước dòng mới, chỉ cần sử dụng

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
2

Thay đổi dòng

 sys.stdout.write('"' + line + '",')

đến

sys.stdout.write('"' + line.strip() + '",')

Lưu ý trong trường hợp của bạn, một giải pháp đơn giản hơn sẽ

>>> from itertools import imap
>>> with open("list.txt") as fin:
    print ','.join(imap(str.strip, fin))


Cat,Dog,Monkey,Pig

Hoặc chỉ sử dụng danh sách hiểu

>>> with open("test.txt") as fin:
    print ','.join(e.strip('\n') for e in  fin)


Cat,Dog,Monkey,Pig

Đã trả lời ngày 21 tháng 2 năm 2013 lúc 16:42Feb 21, 2013 at 16:42

1

Bạn có thể sử dụng

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
3 để loại bỏ các dòng mới khỏi phía bên phải của chuỗi:

line.rstrip('\n')

Hoặc bạn có thể bảo nó loại bỏ tất cả khoảng trắng (bao gồm cả khoảng trắng, tab và trả về vận chuyển):

line.rstrip()

Đây là một phiên bản cụ thể hơn của phương thức

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
4 loại bỏ khoảng trắng hoặc các ký tự cụ thể khỏi cả hai phía của chuỗi.

Đối với trường hợp cụ thể của bạn, bạn có thể gắn bó với một

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
4 đơn giản nhưng đối với trường hợp chung mà bạn muốn chỉ xóa dòng mới, tôi sẽ gắn bó với `.rstrip ('\ n').

Tôi sẽ sử dụng một phương thức khác để viết chuỗi của bạn mặc dù:

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
0

Bằng cách sử dụng

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
6, bạn tránh dấu phẩy cuối cùng và sử dụng phương pháp
import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
7 dễ dàng hơn so với nhiều lần ghép chuỗi (không đề cập đến nhanh hơn).

Đã trả lời ngày 21 tháng 2 năm 2013 lúc 16:43Feb 21, 2013 at 16:43

Martijn Pieters ♦ Martijn PietersMartijn Pieters

990K276 Huy hiệu vàng3897 Huy hiệu bạc3249 Huy hiệu đồng276 gold badges3897 silver badges3249 bronze badges

3

Trước hết, để làm cho tất cả xuất hiện trên một dòng, bạn sẽ nhận được vỏ của

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
8. Tôi thấy
import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
9 để làm việc tốt.

Để loại bỏ ',' cuối cùng, tôi sẽ đặt tất cả các từ trong một danh sách thêm dấu ngoặc kép. Sau đó, sử dụng tham gia (), tham gia tất cả các từ trong danh sách với ","

import sys
input_file = open('list.txt', 'r')
for line in input_file:
    sys.stdout.write('"' + line + '",')
1

Điều đó sẽ có được đầu ra mong muốn

Đã trả lời ngày 21 tháng 2 năm 2013 lúc 16:48Feb 21, 2013 at 16:48

JroostermanjroostermanJroosterman

4084 Huy hiệu bạc11 Huy hiệu đồng4 silver badges11 bronze badges

Nếu bạn cần xóa các lần phá vỡ dòng khỏi văn bản bằng Python, bạn có thể sử dụng phương thức chuỗi tiếp theo:

  • thay thế (cũ, mới [, đếm]))(old, new [, count])

Trả về một bản sao của chuỗi với tất cả các lần xuất hiện của phần phụ cũ được thay thế bằng mới. Nếu số lượng đối số tùy chọn được đưa ra, chỉ có các lần xuất hiện đầu tiên được thay thế.

Phá vỡ dòng trong văn bản thường được thể hiện là:

  • \ r \ n - Trên máy tính Windows - on a windows computer
  • \ r - Trên máy tính Apple - on an Apple computer
  • \ n - trên Linux - on Linux

Để loại bỏ các lần phá vỡ dòng bằng Python, hãy xem ví dụ:

    // Xóa tất cả 3 loại BreakString Dòng = String.replace ("\ r", "" ") String = String.replace (" \ n "," ")
    string = string.replace("\r","")
    string = string.replace("\n","")

Làm cách nào để xóa trở lại vận chuyển?

Tháo vận chuyển trở lại bằng tay..
Chọn tất cả các ô nơi bạn muốn loại bỏ hoặc thay thế trả lại vận chuyển ..
Nhấn Ctrl+H để mở hộp thoại Tìm và thay thế ..
Trong trường tìm trường nào nhập ctrl+j. ....
Trong trường thay thế, nhập bất kỳ giá trị nào để thay thế lợi nhuận vận chuyển. ....
Nhấn nút Thay thế tất cả và thưởng thức kết quả !.

Làm cách nào để loại bỏ một ký tự trở lại vận chuyển?

Quy trình xóa trả lại vận chuyển như sau:..
Mở ứng dụng đầu cuối và sau đó nhập bất kỳ một trong một lệnh sau ..
Sử dụng SED: SED 'S/\ R $ //' File.txt> out.txt ..
Một tùy chọn khác là tr: tr -d '\ r' input.txt> out.txt ..

Làm cách nào để loại bỏ một đường ngắt trong chuỗi python?

Sử dụng str.replace () để loại bỏ tất cả các lần ngắt dòng từ chuỗi cuộc gọi str.Thay thế (cũ, mới) trong đó cũ là "\ n" và mới là "" để thay thế các đường vỡ bằng một khoảng trống. replace() to remove all line breaks from a string Call str. replace(old, new) where old is "\n" and new is " " to replace the line breaks with a single space.

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

Phương thức RStrip () loại bỏ bất kỳ ký tự dấu vết nào ở cuối chuỗi.Bằng cách sử dụng phương thức này, chúng ta có thể xóa Newlines trong giá trị chuỗi được cung cấp.By using this method, we can remove newlines in the provided string value.