Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

Tôi muốn chuyển đổi chuỗi đa dòng Python thành một dòng. Nếu tôi mở chuỗi trong Vim, tôi có thể thấy ^m ở đầu mỗi dòng. Làm thế nào để tôi xử lý chuỗi để làm tất cả trong một dòng duy nhất với phân tách tab giữa mỗi dòng. Ví dụ trong vim có vẻ như:

  Serialnumber
 ^MName           Rick
 ^MAddress           902, A.street, Elsewhere

Tôi muốn nó là một cái gì đó như:

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......

trong đó mỗi chuỗi nằm trong một dòng. Tôi đã thử

   somestring.replace(r'\r','\t')

Nhưng nó không hoạt động. Ngoài ra, một khi chuỗi nằm trong một dòng duy nhất nếu tôi muốn một dòng mới (Unix newline?) Ở cuối chuỗi làm thế nào tôi sẽ làm điều đó?

Hỏi ngày 1 tháng 8 năm 2013 lúc 21:21Aug 1, 2013 at 21:21

Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

user2441441user2441441user2441441

1.1614 Huy hiệu vàng24 Huy hiệu bạc41 Huy hiệu đồng4 gold badges24 silver badges41 bronze badges

Đã xóa câu trả lời trước đây của tôi vì tôi nhận ra nó là sai và tôi cần kiểm tra giải pháp này.

Giả sử rằng bạn đang đọc cái này từ tệp, bạn có thể làm như sau:

f = open('test.txt', 'r')
lines = f.readlines()
mystr = '\t'.join([line.strip() for line in lines])

Như Ep0 đã nói, ^m đại diện cho '\ r', mà ký tự trả về trong Windows. Thật đáng ngạc nhiên khi bạn sẽ có ^m ở đầu mỗi dòng vì ký tự dòng Windows là \ r \ n. Có ^m ở đầu dòng chỉ ra rằng tệp của bạn chứa \ n \ r thay thế.

Bất kể, mã trên sử dụng danh sách hiểu để lặp qua từng dòng được đọc từ ____10. Đối với mỗi

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
1 trong
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
2, chúng tôi gọi
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
3 để loại bỏ bất kỳ ký tự trắng và không in nào từ các đầu của mỗi dòng. Cuối cùng, chúng tôi gọi
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
4 trong danh sách kết quả để chèn các tab.

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 23:52Aug 1, 2013 at 23:52

VortityvortityVorticity

4.1843 Huy hiệu vàng28 Huy hiệu bạc46 Huy hiệu đồng3 gold badges28 silver badges46 bronze badges

8

Bạn có thể thay thế "\ r" ký tự bằng "\ t".

my_string.replace("\r", "\t")

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 21:27Aug 1, 2013 at 21:27

1

Tôi sử dụng splutlines () để phát hiện tất cả các loại dòng, và sau đó kết hợp mọi thứ lại với nhau. Bằng cách này, bạn không cần phải đoán để thay thế \ r hoặc \ n, v.v.

"".join(somestring.splitlines())

Đã trả lời ngày 24 tháng 12 năm 2020 lúc 18:21Dec 24, 2020 at 18:21

Tầm râmrouble

15K16 Huy hiệu vàng101 Huy hiệu bạc98 Huy hiệu đồng16 gold badges101 silver badges98 bronze badges

Đó là mã hóa cứng. Nhưng nó đã có tác dụng.

poem='''
If I can stop one heart from breaking,
I shall not live in vain;
If I can ease one life the aching,
Or cool one pain,
Or help one fainting robin
Unto his nest again,
I shall not live in vain.
'''


lst=list(poem)
str=''
for i in lst:
    str+=i
print(str)
lst1=str.split("\n")
str1=""

for i in lst1:
    str1+=i+" "
str2=str1[:-2]
print(str2)

Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

Vlad

7.7675 Huy hiệu vàng28 Huy hiệu bạc44 Huy hiệu đồng5 gold badges28 silver badges44 bronze badges

Đã trả lời ngày 24 tháng 3 năm 2019 lúc 15:40Mar 24, 2019 at 15:40

Điều này xảy ra về cách VIM diễn giải CR (trở lại vận chuyển), được Windows sử dụng để phân định các dòng mới. Bạn chỉ nên sử dụng một biên tập viên (cá nhân tôi thích VIM). Đọc này: vim ^m

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 21:24Aug 1, 2013 at 21:24

ep0ep0ep0

7125 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

1

Thủ thuật này cũng có thể hữu ích, viết

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
5 dưới dạng
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
6. Giống :

my_string = my_string.replace(r"\n", "\t")

Đã trả lời ngày 8 tháng 2 năm 2019 lúc 9:16Feb 8, 2019 at 9:16

Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

Taohidul Hồi giáo Hồi giáo Hồi giáoTaohidul Islam

5.1403 Huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu Đồng3 gold badges23 silver badges38 bronze badges

Điều này sẽ làm công việc:

def flatten(multiline):
    lst = multiline.split('\n')
    flat = ''
    for line in lst:
        flat += line.replace(' ', '')+' '
    return flat

Đã trả lời ngày 23 tháng 12 năm 2020 lúc 21:15Dec 23, 2020 at 21:15

Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

EladtaleladtalEladTal

1.6171 Huy hiệu vàng15 Huy hiệu bạc10 Huy hiệu đồng1 gold badge15 silver badges10 bronze badges

Điều này nên làm công việc:
string = """Name           Rick
 Address           902, A.street, Elsewhere"""

single_line = string.replace("\n", "\t")

Đã trả lời ngày 17 tháng 5 năm 2021 lúc 16:46May 17, 2021 at 16:46

Hướng dẫn how to convert multiple lines into single line in python - cách chuyển đổi nhiều dòng thành một dòng trong python

Làm cách nào để chuyển đổi nhiều dòng thành một dòng trong Python?

Để chia một dòng thành nhiều dòng trong Python, hãy sử dụng dấu ngoặc đơn mở trong dòng bạn muốn phá vỡ. Bây giờ, Python mong đợi dấu ngoặc đơn đóng trong một trong các dòng tiếp theo và biểu thức được đánh giá trên các ranh giới dòng.use an opening parenthesis in the line you want to break. Now, Python expects the closing parenthesis in one of the next lines and the expression is evaluated across line boundaries.

Làm thế nào để bạn biên dịch nhiều dòng trong Python?

Bạn sẽ cần phải đặt nó với một cặp trích dẫn ba, một lần bắt đầu và thứ hai cuối cùng.Bất cứ điều gì bên trong các trích dẫn ba kèm theo sẽ trở thành một phần của một chuỗi đa dòng.Chúng ta hãy có một ví dụ để minh họa hành vi này.# Chuỗi chứa các ký tự Newline line_str = "Tôi đang học Python.enclose it with a pair of Triple quotes, one at the start and second in the end. Anything inside the enclosing Triple quotes will become part of one multiline string. Let's have an example to illustrate this behavior. # String containing newline characters line_str = "I'm learning Python.

Làm thế nào để bạn tạo một dòng một chuỗi trong Python?

Cách làm việc với chuỗi dòng đơn trong lập trình Python..
Đưa chuỗi trong trích dẫn đôi và ..
Kèm theo chuỗi trong các trích dẫn đơn ..

Làm thế nào để bạn chuyển đổi thành một dòng?

Bước 1: Hãy chuẩn bị với văn bản mà bạn muốn chuyển đổi.Bước 2: Sao chép văn bản, JSON, String, PDF hoặc XML (bất cứ điều gì bạn muốn chuyển đổi).Bước 3: Dán nội dung sao chép vào không gian được cung cấp.Bước 4: Cuối cùng nhấp vào tùy chọn "Chuyển đổi" để có được văn bản được chuyển đổi trong một dòng.