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 PigTô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
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,PigHoặ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 + '",') 0Bằ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 Pieters♦Martijn 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","")