Python 使用str.split拆分多行

Python 使用str.split拆分多行,python,Python,尝试使用str拆分多行段落。拆分单行拆分工作正常。str.split是分割多行的正确方法吗?我缺少什么? 单线拆分工作正常示例: dmap_lines = """Nople Normal Altar1-truck-Altar2,Altar2-train-Cansomme,Cansomme-flight-Karoh,Karoh-truck-Nople""" destinations = [] remainders1 = [] stages

尝试使用str拆分多行段落。拆分单行拆分工作正常。str.split是分割多行的正确方法吗?我缺少什么? 单线拆分工作正常示例:

dmap_lines = """Nople Normal Altar1-truck-Altar2,Altar2-train-Cansomme,Cansomme-flight-Karoh,Karoh-truck-Nople"""
destinations = []
remainders1 = []
stages = []
for line in dmap_lines:
    destination, remainder1, remainder = dmap_lines.split(' ')
    destinations.append(destination)
    remainders1.append(remainder1)
    remainder = remainder.split(',')
    stages.append(remainder)
print(destination)
print(remainder1)
print(type(remainder))
print(remainder)

Expected Output: 
Nople
Normal
<class 'list'>
['Altar1-truck-Altar2', 'Altar2-train-Cansomme', 'Cansomme-flight-Karoh', 'Karoh-truck-Nople']
dmap_lines=“”Nople NOPR1-truck-Altar2,Altar2列车CANSOME,CANSOME航班Karoh,Karoh truck Nople”“”
目的地=[]
余数1=[]
阶段=[]
对于dmap_行中的行:
目的地,余数1,余数=dmap_行。拆分(“”)
目的地。追加(目的地)
remainder1.追加(remainder1)
余数=余数。拆分(',')
stages.append(余数)
打印(目的地)
打印(剩余1)
打印(打印(剩余)
打印(剩余)
预期产出:
诺普
正常的
['Altar1-truck-Altar2'、'Altar2 train Cansomme'、'Cansomme flight Karoh'、'Karoh truck Nople']
使用多行代码:

dmap_lines = """Nople Normal Altar1-truck-Altar2,Altar2-train-Cansomme,Cansomme-flight-Karoh,Karoh-truck-Nople\nDria Normal Altar1-truck-Altar2,Altar2-train-Mala1,Mala1-truck-Mala2,Mala2-flight-Dria"""
destinations = []
remainders1 = []
stages = []
for line in dmap_lines:
    destination, remainder1, remainder = dmap_lines.split(' ')
    destinations.append(destination)
    remainders1.append(remainder1)
    remainder = remainder.split(',')
    stages.append(remainder)
print(destination)
print(remainder1)
print(type(remainder))
print(remainder)

Receiving error in output: 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-78-9eb9f8fa1c64> in <module>
      4 stages = []
      5 for line in dmap_lines:
----> 6     destination, remainder1, remainder = dmap_lines.split(' ')
      7     destinations.append(destination)
      8     remainders1.append(remainder1)

ValueError: too many values to unpack (expected 3)
dmap_line=“”Nople Normal Altar1-truck-Altar2,Altar2 train CANSOME,CANSOME flight Karoh,Karoh truck Nople\nDria NOPRI Normal Altar1-truck-Altar2,Altar2 train-Mala1,Mala1-truck-Mala2,Mala2 flight Dria”“”
目的地=[]
余数1=[]
阶段=[]
对于dmap_行中的行:
目的地,余数1,余数=dmap_行。拆分(“”)
目的地。追加(目的地)
remainder1.追加(remainder1)
余数=余数。拆分(',')
stages.append(余数)
打印(目的地)
打印(剩余1)
打印(打印(剩余)
打印(剩余)
输出中的接收错误:
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
4个阶段=[]
5对于dmap_线路中的线路:
---->6目的地,余数1,余数=dmap_行。拆分(“”)
7目的地。追加(目的地)
8余数1.追加(余数1)
ValueError:要解压缩的值太多(应为3个)
预期产出:

Nople
Normal
<class 'list'>
['Altar1-truck-Altar2', 'Altar2-train-Cansomme', 'Cansomme-flight-Karoh', 'Karoh-truck-Nople']

Dria
Normal
<class 'list'>
['Altar1-truck-Altar2,Altar2-train-Mala1,Mala1-truck-Mala2,Mala2-flight-Dria']
Nople
正常的
['Altar1-truck-Altar2'、'Altar2 train Cansomme'、'Cansomme flight Karoh'、'Karoh truck Nople']
德里亚
正常的
['Altar1-truck-Altar2,Altar2-train-Mala1,Mala1-truck-Mala2,Mala2航班Dria']

为什么for循环没有在多行上迭代并将字符串拆分为多个部分?

有什么原因说明
re.findall
不是更好的方法:

dmap_lines=“Nople Normal Altar1-truck-Altar2,Altar2列车CANSOME,CANSOME航班Karoh,Karoh truck Nople”
matches=re.findall(r'\b\w+-\w+-\w+\b',dmap\u行)
打印(匹配)
这张照片是:

['Altar1-truck-Altar2', 'Altar2-train-Cansomme', 'Cansomme-flight-Karoh',
 'Karoh-truck-Nople']
Altar1-truck-Altar2,Altar2-train-Cansomme,Cansomme-flight-Karoh,Karoh-truck-Nople
要获取单个CSV字符串,请使用
join

csv=','.join(匹配项)
打印(csv)
这张照片是:

['Altar1-truck-Altar2', 'Altar2-train-Cansomme', 'Cansomme-flight-Karoh',
 'Karoh-truck-Nople']
Altar1-truck-Altar2,Altar2-train-Cansomme,Cansomme-flight-Karoh,Karoh-truck-Nople

在第二个示例中,字符串中有六个```(空格)字符,它试图将其解压为三个变量。您的意思是对dmap\U行中的行执行
。拆分('\n'):
,要在每个换行符上拆分字符串?@Green斗篷盖每行的缓冲区内容都是location deliverytype我想从dmap_行拆分每行以分离内容实际行只有一个空格字符字符串中没有六个空格没有添加六个空格不知道这六个空格是如何得到的此外,阶段部分被拆分,每行包含一个位置交货类型交货阶段的想法是将位置和交货类型与交货阶段分开。我无法理解为什么for循环不能在两行上同等工作。您给了我们一个单行输入,我不明白多行问题从何而来在这里玩。你能编辑你的问题并揭示实际问题吗?