Python 在 txt 文件中拆分行

Python split rows in txt file

我有很多行的 .txt 列表,格式如下:

3AD544532F-272|5SD32332S-F72|5FD2124L-Y21|4WA32332P-A26|6DW3224C-I72
(...)

如何用竖线拆分这些数字 |这样我就可以接收包含以下项目的输出 .txt 文件:

3AD544532F-272-14

5SD32332S-F72-12

5FD2124L-Y21-41

4WA32332P-A26-17

6DW3224C-I72-41

我尝试使用此脚本,但没有得到正确的结果。

import sys
output = open("output_list.txt","w")
print("read line and put it into list or array as you like to call it")
list = open("list.txt").read().splitlines() 
for i in list:
        re.compiler()
input()

如果你有这样的字符串3AD544532F-272|5SD32332S-F72|5FD2124L-Y21|4WA32332P-A26|6DW3224C-I72

您可以使用 split 内置函数

| 拆分
line = `3AD544532F-272|5SD32332S-F72|5FD2124L-Y21|4WA32332P-A26|6DW3224C-I72`
your_splitted_line = line.split("|")
>>print your_splitted_line
>>['3AD544532F-27','5SD32332S-F72','5FD2124L-Y21','4WA32332P-A26','6DW3224C-I72']

split()确实是最好的解决方案。使用正则表达式的替代方法是

>>> import re
>>> text = "3AD544532F-272|5SD32332S-F72|5FD2124L-Y21|4WA32332P-A26|6DW3224C-I72"

>>> for i in re.split('\|',text):
...     print (i)
... 
3AD544532F-272
5SD32332S-F72
5FD2124L-Y21
4WA32332P-A26
6DW3224C-I72