Как разделить слова в строке файла, разделенного ";" - PullRequest
0 голосов
/ 04 ноября 2019

Как разбить слова в строке, разделенные ;:

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

Ответы [ 3 ]

0 голосов
/ 04 ноября 2019

один вариант:

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

Однако я думаю, что вы хотите разделить все (включая запятые), чтобы я заменил ";"сначала в запятые, а затем делим запятые.

0 голосов
/ 04 ноября 2019

Я предлагаю использовать 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']
0 голосов
/ 04 ноября 2019

Это то, что вы ищете?

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']
...