Я пытаюсь сопоставить «заголовок» с одним из типов заголовков в моем классе ENUM. Я попробовал заголовок, соответствующий Header.PROFILE_NAME, Header.PROFILE_NAME.name, Header.PROFILE_NAME.name. Однако пока ничего из этого не сработало. О нем тоже не могу найти много информации. Надеюсь, кто-нибудь сможет мне помочь в этом вопросе. Заранее приветствую.
from enum import Enum
class Header(Enum):
PROFILE_NAME = None
FIRSTNAME = None
LASTNAME = None
EMAIL = None
PHONE = None
STREET = None
HOUSE = None
ADDRESS2 = None
CITY = None
STATE = None
COUNTRY = None
CARD_TYPE = None
CARD_NUMBER = None
CARD_EXP_MONTH = None
CARD_EXP_YEAR = None
CARD_CVV = None
def setProfiles():
with open('profiles.csv', 'r') as profilesFile:
profiles = csv.reader(profilesFile)
# Sets CSV header name to index
for index, profile in enumerate(profiles):
if(index == 0):
for index, header in enumerate(profile):
match header:
case Header.PROFILE_NAME.name:
print("profile")
#Header.PROFILE_NAME.value = index
case Header.FIRSTNAME.name:
print("firstn")
#Header.FIRSTNAME.value = index
case Header.LASTNAME.name:
print("last")
Header.LASTNAME._value_ = index
case Header.EMAIL:
Header.EMAIL._value_ = index
case Header.PHONE:
Header.PHONE._value_ = index
case Header.STATE:
Header.STATE._value_ = index
case Header.HOUSE:
Header.HOUSE._value_ = index
case Header.ADDRESS2:
Header.ADDRESS2._value_ = index
case Header.CITY:
Header.CITY._value_ = index
case Header.STATE:
Header.STATE._value_ = index
case Header.COUNTRY:
Header.COUNTRY._value_ = index
case Header.CARD_TYPE:
Header.CARD_TYPE._value_ = index
case Header.CARD_NUMBER:
Header.CARD_NUMBER._value_ = index
case Header.CARD_EXP_MONTH:
Header.CARD_EXP_MONTH._value_ = index
case Header.CARD_EXP_YEAR:
Header.CARD_EXP_YEAR._value_ = index
case Header.CARD_CVV:
Header.CARD_CVV._value_ = index
# Creates profile and sets info
else:
#print(Header.PROFILE_NAME)
# print(Header.FIRSTNAME)
createProfile = Profile()
for index, info in enumerate(profile):
match index:
case index if index == Header.PROFILE_NAME:
createProfile.profileName = info
case index if index == Header.FIRSTNAME:
createProfile.firstName = info
case index if index == Header.LASTNAME:
createProfile.lastName = info
case index if index == Header.EMAIL:
createProfile.email = info
case index if index == Header.PHONE:
createProfile.phone = info
case index if index == Header.STREET:
createProfile.street = info
case index if index == Header.HOUSE:
createProfile.house = info
case index if index == Header.ADDRESS2:
createProfile.address2 = info
case index if index == Header.CITY:
createProfile.city = info
case index if index == Header.STATE:
createProfile.state = info
case index if index == Header.COUNTRY:
createProfile.country = info
case index if index == Header.CARD_TYPE:
createProfile.cardType = info
case index if index == Header.CARD_NUMBER:
createProfile.cardNumber = info
case index if index == Header.CARD_EXP_MONTH:
createProfile.cardExpiryMonth = info
case index if index == Header.CARD_EXP_YEAR:
createProfile.cardExpiryYear = info
case index if index == Header.CARD_CVV:
createProfile.cardCVV = info
Подробнее здесь: https://stackoverflow.com/questions/744 ... -with-enum
Оператор сопоставления Python с перечислением ⇐ Python
Программы на Python
-
Anonymous
1771876199
Anonymous
Я пытаюсь сопоставить «заголовок» с одним из типов заголовков в моем классе ENUM. Я попробовал заголовок, соответствующий Header.PROFILE_NAME, Header.PROFILE_NAME.name, Header.PROFILE_NAME.name. Однако пока ничего из этого не сработало. О нем тоже не могу найти много информации. Надеюсь, кто-нибудь сможет мне помочь в этом вопросе. Заранее приветствую.
from enum import Enum
class Header(Enum):
PROFILE_NAME = None
FIRSTNAME = None
LASTNAME = None
EMAIL = None
PHONE = None
STREET = None
HOUSE = None
ADDRESS2 = None
CITY = None
STATE = None
COUNTRY = None
CARD_TYPE = None
CARD_NUMBER = None
CARD_EXP_MONTH = None
CARD_EXP_YEAR = None
CARD_CVV = None
def setProfiles():
with open('profiles.csv', 'r') as profilesFile:
profiles = csv.reader(profilesFile)
# Sets CSV header name to index
for index, profile in enumerate(profiles):
if(index == 0):
for index, header in enumerate(profile):
match header:
case Header.PROFILE_NAME.name:
print("profile")
#Header.PROFILE_NAME.value = index
case Header.FIRSTNAME.name:
print("firstn")
#Header.FIRSTNAME.value = index
case Header.LASTNAME.name:
print("last")
Header.LASTNAME._value_ = index
case Header.EMAIL:
Header.EMAIL._value_ = index
case Header.PHONE:
Header.PHONE._value_ = index
case Header.STATE:
Header.STATE._value_ = index
case Header.HOUSE:
Header.HOUSE._value_ = index
case Header.ADDRESS2:
Header.ADDRESS2._value_ = index
case Header.CITY:
Header.CITY._value_ = index
case Header.STATE:
Header.STATE._value_ = index
case Header.COUNTRY:
Header.COUNTRY._value_ = index
case Header.CARD_TYPE:
Header.CARD_TYPE._value_ = index
case Header.CARD_NUMBER:
Header.CARD_NUMBER._value_ = index
case Header.CARD_EXP_MONTH:
Header.CARD_EXP_MONTH._value_ = index
case Header.CARD_EXP_YEAR:
Header.CARD_EXP_YEAR._value_ = index
case Header.CARD_CVV:
Header.CARD_CVV._value_ = index
# Creates profile and sets info
else:
#print(Header.PROFILE_NAME)
# print(Header.FIRSTNAME)
createProfile = Profile()
for index, info in enumerate(profile):
match index:
case index if index == Header.PROFILE_NAME:
createProfile.profileName = info
case index if index == Header.FIRSTNAME:
createProfile.firstName = info
case index if index == Header.LASTNAME:
createProfile.lastName = info
case index if index == Header.EMAIL:
createProfile.email = info
case index if index == Header.PHONE:
createProfile.phone = info
case index if index == Header.STREET:
createProfile.street = info
case index if index == Header.HOUSE:
createProfile.house = info
case index if index == Header.ADDRESS2:
createProfile.address2 = info
case index if index == Header.CITY:
createProfile.city = info
case index if index == Header.STATE:
createProfile.state = info
case index if index == Header.COUNTRY:
createProfile.country = info
case index if index == Header.CARD_TYPE:
createProfile.cardType = info
case index if index == Header.CARD_NUMBER:
createProfile.cardNumber = info
case index if index == Header.CARD_EXP_MONTH:
createProfile.cardExpiryMonth = info
case index if index == Header.CARD_EXP_YEAR:
createProfile.cardExpiryYear = info
case index if index == Header.CARD_CVV:
createProfile.cardCVV = info
Подробнее здесь: [url]https://stackoverflow.com/questions/74417696/python-match-statement-with-enum[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия