Мне трудно разделить функции. Я пытаюсь иметь функцию чтения, где он читает текстовый файл, который у меня есть (который отделен символом ',' в текстовом файле). Тем не менее, в настоящее время у меня это под display_university
. Функция отображения должна отображать формат, подобный категории «если», условно для моего кода ниже. ["UniversityName"]
и ["ContactName"]
- это заголовки из текстового файла (это похоже на чтение из базы данных с отображением содержимого под этим заголовком).
Текстовый файл в настоящее время выглядит так:
"UniversityName","ContactName"
"UCLA","John Kelly"
"UofFlorida","Mary Elizabeth"
"U of Memphis","Taylor Johnson"
"Harvard","Robert Fax"
Таким образом, в зависимости от того, что пользователь вводит, он будет отображать содержимое под этим заголовком. Прямо сейчас у меня есть это как Университет и Контакт. На основной файл, у меня есть пользователь, чтобы выбрать, что они хотят отобразить.
Моя программа сейчас должна сортироваться по университету или контакту. Так что, если бы я выбрал 1. (университет), выходные данные должны перечислить все названия университетов в следующем порядке:
University: Harvard
Name: Robert Fax
University: UCLA
Name: John Kelly
Name: UofFlorida
Name: Mary Elizabeth
....
В данный момент у меня закомментирована функция чтения, и я хочу отобразить. Я просто не знаю, как отделить функцию из-за моих операторов печати. Я получаю странные ошибки цикла. Я чувствую, что мое размещение неверно.
Код:
import csv
def display_university(filename, category):
with open(filename, mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
line_count = 0
for row in csv_reader:
if line_count == 0:
print(f'{", ".join(row)}')
line_count += 1
if category == "University":
print(f'University: {row["UniversityName"]}'
f'\nName: {row["ContactName"]}')
if category == "Contact":
print(f'Contact: {row["ContactName"]}'
f'\nUniversity: {row["UniversityName"]}')
line_count += 1
print(f'\nProcessed {line_count} lines.')
def main():
filename = "List.txt"
# list_files = read_file(filename)
try:
print("1. University")
print("2. Contact Name")
choice = input()
choice = int(choice)
if choice == '1':
# display_university(list_files, "University")
elif choice == '2':
# display_university(list_files, "Contact")
else:
raise ValueError("Invalid option selected")
except ValueError:
print("Unexpected error.")
if __name__ == "__main__":
main()