Перечислите, возвращая буквы в качестве значения вместо слов

#python

Вопрос:

Мне дали txt-файл, в котором я должен прочитать определенную строку. Эта строка содержит следующие данные:

 # STN,YYYYMMDD,DDVEC,FHVEC,   FG,  FHX, FHXH,  FHN, FHNH,  FXX, FXXH,   TG,   TN,  TNH,   TX,  TXH, T10N,T10NH,   SQ,   SP,    Q,   DR,   RH,  RHX, RHXH,   PG,   PX,  PXH,   PN,  PNH,  VVN, VVNH,  VVX, VVXH,   NG,   UG,   UX,  UXH,   UN,  UNH, EV24
 

Теперь вопрос в том, чтобы вернуть значение с соответствующим индексом столбца. Однако, когда я пытаюсь сделать это с помощью enumerate, он выдает мне число, состоящее только из 1 буквы за раз. Я думаю, что это связано с типом данных, так как они не находятся между ними», но я попытался изменить их и не могу до этого добраться. Я также попытался разделить данные, но тогда это дает мне букву на строку. Может кто-нибудь, пожалуйста, помочь?

 data = (the line above)

for counter, value in enumerate(data):
         print(counter, value)
 

РЕЗУЛЬТАТ: 0 #, 1 , 2 С, 3 Т, 4 Н и т.д.

Это то, что я получаю с помощью функции перечисления. Есть ли способ разрешить этой функции использовать , в качестве разделителя?

Комментарии:

1. Вы имели в виду: for counter, value in enumerate(data.split(',')): ?

2. Пожалуйста, обновите свой вопрос, указав необходимые выходные данные.

3. Что вы имеете в виду, говоря, что данные «не находятся между ними»? Поведение, которое вы описываете, имеет смысл только тогда, когда все это в одной строке.

4. Да, большое вам спасибо, квамрана. для счетчика значение в перечислении(данные, разделение (‘,’)): действительно сработало. Я застрял на этом уже 2 часа.

Ответ №1:

Теперь данные представляют собой строку, и когда вы перечисляете строку, она перечисляется символ за символом. Если вы хотите получить слова, вам нужно передать список, разделив строку на»,», как показано ниже. Когда вы перечисляете список, он будет принимать каждое слово как элемент. Вы должны перечислить список, а не строку, как показано ниже.

 data = '# STN,YYYYMMDD,DDVEC,FHVEC,   FG,  FHX, FHXH,  FHN, FHNH,  FXX, FXXH,   TG,   TN,  TNH,   TX,  TXH, T10N,T10NH,   SQ,   SP,    Q,   DR,   RH,  RHX, RHXH,   PG,   PX,  PXH,   PN,  PNH,  VVN, VVNH,  VVX, VVXH,   NG,   UG,   UX,  UXH,   UN,  UNH, EV24'

for counter, value in enumerate(data.split(',')):
         print(counter, value)
 

Здесь data.split(',') будет возвращен список с каждым словом в качестве элемента для перечисления.

Комментарии:

1. # является частью строки.

2. Обновил его Спасибо за уведомление