123|china|jack|342|usa|Nick|324345|spin|Amy
蟒蛇長字符串分割成不同的行
我想這樣的最終結果(我知道我需要每3元素的新線):
123,china,jack
342,usa,Nick
324345,spin,Amy
謝謝
123|china|jack|342|usa|Nick|324345|spin|Amy
蟒蛇長字符串分割成不同的行
我想這樣的最終結果(我知道我需要每3元素的新線):
123,china,jack
342,usa,Nick
324345,spin,Amy
謝謝
試一下:
x = '123|china|jack|342|usa|Nick|324345|spin|Amy'
l = x.split('|')
new_l = [l[i:i+3] for i in range(0,len(l),3)]
這會給你:
>>> for i in new_l:
... print ','.join(i)
...
123,china,jack
342,usa,Nick
324345,spin,Amy
更新:讀取文件
讀取該文件作爲字符串執行以下操作:
with open('your_file.txt', 'r') as myfile:
x=myfile.read().replace('\n', '|')
感謝您的幫助 – love233126
很高興幫助! – coder
抱歉打擾你再次編碼器,而不是硬代碼x ='123 | china | jack | 342 | usa |尼克| 324345 | spin |艾米',我試過使用x = open(「love.txt」),我有也改變了CWD,但似乎沒有工作? python是不準備文件:( – love233126
它可以用一個print
語句來完成
>>> d = '123|china|jack|342|usa|Nick|324345|spin|Amy'
>>> l = d.split('|')
>>> print(*list(map(lambda v: ','.join(v),[l[x: x+3] for x in range(0, len(l), 3)])), sep='\n')
123,china,jack
342,usa,Nick
324345,spin,Amy
所以現在一步一步
>>> d = '123|china|jack|342|usa|Nick|324345|spin|Amy'
>>> l = d.split('|') # splitting input string into list of str objects that separated with '|'
>>> l
['123', 'china', 'jack', '342', 'usa', 'Nick', '324345', 'spin', 'Amy']
>>> [l[x: x+3] for x in range(0, len(l), 3)] # combining elements by 3
[['123', 'china', 'jack'], ['342', 'usa', 'Nick'], ['324345', 'spin', 'Amy']]
>>> list(map(lambda v: ','.join(v),[l[x: x+3] for x in range(0, len(l), 3)])) # merging every sublist to str with ',' as separator
['123,china,jack', '342,usa,Nick', '324345,spin,Amy']
>>> print(*list(map(lambda v: ','.join(v),[l[x: x+3] for x in range(0, len(l), 3)])), sep='\n') # final print
123,china,jack
342,usa,Nick
324345,spin,Amy
感謝您的幫助 – love233126
我不得不使用SQL來分析這件事情的嘗試,但文件太大,我沒有真正的蟒蛇 – love233126
'string.split一個專家(「|」)'會做,如果'字符串=「123 | china | jack | 342 | usa | Nick | 324345 | spin | Amy''。嘗試在3元素後打印新行它將解決您的問題。 –