Если значение ячейки по сути список. Как правильно с ним работать?

Отрывок кода с примером primer.txt:

import pandas as pd
df_raw = pd.read_csv('primer.txt', sep='\t', encoding = 'utf-8',low_memory=False)
def naimen_zak_spis(row):
    line = row['namen_zak']
    line = line.replace('[', '')
    line = line.replace(']', '')  
    line = line.split("', '")
    line_result = []
    for i in range(2, len(line), 3):
        line_result.append(str(line[i]))
    return line_result
df_raw['namen_zak_spis'] = df_raw.apply(naimen_zak_spis, axis=1)
df = df_raw.filter(items = ['nomer_zak', 'namen_zak', 'namen_zak_spis', ])
print(df.iloc[0]['namen_zak'])
print('')
print(df.iloc[0]['namen_zak_spis'])
df.head()

Результат кода: введите сюда описание изображения

В ячейке df_raw['namen_zak'] содержится список, он выглядит как список, но при попытке работать с ним как со списком, ничего не получилось, он воспринимается как строка.

Есть ли возможность работать с ним как со списоком?

То есть в функции обработки naimen_zak_spis выбирать данные с помощью индексов, например result = line[5], создавать циклы перебора по этому списку.

Сейчас же мне приходится этот список-строку разделять с помощью split и делать снова списком.

Скажите, что я не учёл? Можно ли, например, задать при импорте тип этого столбика - "список" или есть ли ещё какое либо более четкое решение этой ситуации?


Ответы (0 шт):