Я пытаюсь прочитать файл CSV и получить определенную часть c, используя re.findall.
Вот пример первых нескольких строк моего файла CSV
School: Johnson County Elementary School | Student First Name: John | Student Last Name: Doe, 1, Please leave yearbook with sister in office
School: Kirkwood Elementary School | Student First Name: Karen | Student Last Name: Rodgers, 3, Null
School: 2nd Street Elementary School | Student First Name: Joe | Student Last Name: Greene, 12, Give to mom at pickup
Вот код, который я использую
import csv
import re
def fileReader():
while True:
input_file = input('What file would you like to read from? (or stop) ')
if input_file.upper() == 'STOP':
break
schools = input('What school would you like to generate reports for? ')
file_contents = open(input_file, newline='', encoding='utf-8')
for row in csv.reader(file_contents):
schoolName = re.findall('(?<=Student First Name: ).+?(?= |)',row[0], re.DOTALL)
print(schoolName)
fileReader()
И когда я запускаю этот код, на выходе появляется первый символ названия школы, подобный этому:
['J']
['K']
['2']
Вместо Мне нужно полное название школы, например:
['Johnson County Elementary School']
['Kirkwood Elementary School']
['2nd Street Elementary School']
Я действительно смущен, почему re.finall возвращает первую букву, а не все название школы.