如何在一个以“;”分隔的文件行中拆分单词

2024-04-29 06:42:23 发布

您现在位置:Python中文网/ 问答频道 /正文

如何按;分隔的行拆分单词:

10103;Baldwin, C;SFEN
10115;Wyatt, X;SFEN
10172;Forbes, I;SFEN
10175;Erickson, D;SFEN
10183;Chapman, O;SFEN
11399;Cordova, I;SYEN
11461;Wright, U;SYEN
11658;Kelly, P;SYEN
11714;Morton, A;SYEN
11788;Fuller, E;SYEN

Tags: 单词mortonfullerkellywrightwyattchapmancordova
3条回答

一种选择:

"10103;Baldwin, C;SFEN".split(";")

不过,我想你应该把所有的东西(包括逗号)分开,这样我就可以用“;”先输入逗号,然后用逗号分开

我建议使用csv来实现这一点,尽管如果您的输入实际上是一个字符串,那么您将需要io.StringIO或者只需要按换行:

import csv
from io import StringIO

s = """10103;Baldwin, C;SFEN
10115;Wyatt, X;SFEN
10172;Forbes, I;SFEN
10175;Erickson, D;SFEN
10183;Chapman, O;SFEN
11399;Cordova, I;SYEN
11461;Wright, U;SYEN
11658;Kelly, P;SYEN
11714;Morton, A;SYEN
11788;Fuller, E;SYEN"""

reader = csv.reader(s.split('\n'), delimiter=';')
#or
reader = csv.reader(StringIO(s), delimiter=';')
for line in reader:
    print(line)

输出:

['10103', 'Baldwin, C', 'SFEN']
['10115', 'Wyatt, X', 'SFEN']
['10172', 'Forbes, I', 'SFEN']
['10175', 'Erickson, D', 'SFEN']
['10183', 'Chapman, O', 'SFEN']
['11399', 'Cordova, I', 'SYEN']
['11461', 'Wright, U', 'SYEN']
['11658', 'Kelly, P', 'SYEN']
['11714', 'Morton, A', 'SYEN']
['11788', 'Fuller, E', 'SYEN']

这就是你要找的吗

line = "10103;Baldwin, C;SFEN 10115;Wyatt, X;SFEN 10172;Forbes, I;SFEN 10175;Erickson, D;SFEN 10183;Chapman, O;SFEN 11399;Cordova, I;SYEN 11461;Wright, U;SYEN 11658;Kelly, P;SYEN 11714;Morton, A;SYEN 11788;Fuller, E;SYEN"
line.split(";")

输出

['10103',
 'Baldwin, C',
 'SFEN 10115',
 'Wyatt, X',
 'SFEN 10172',
 'Forbes, I',
 'SFEN 10175',
 'Erickson, D',
 'SFEN 10183',
 'Chapman, O',
 'SFEN 11399',
 'Cordova, I',
 'SYEN 11461',
 'Wright, U',
 'SYEN 11658',
 'Kelly, P',
 'SYEN 11714',
 'Morton, A',
 'SYEN 11788',
 'Fuller, E',
 'SYEN']

相关问题 更多 >