Перебор списка классов Python - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу отсортировать данные из файла CSV и создал класс Python.

class From():
    fromUrl=""
    toUrl=[]
    text=""

Теперь у меня есть список экземпляров From, и я хочу добавить разные URL-адреса, принадлежащие экземпляру From ..

#objects of From class
fromUniqueList=[]

fromColumnUnique = tips['from'].unique()
for col in fromColumnUnique:
    fromObject = From()
    fromObject.fromUrl=col
    fromUniqueList.append(fromObject)

print('UNIQUE FROM OBJECTS IN LIST', len(fromUniqueList))   


for i, row in tips.iterrows():
    for fromObject in fromUniqueList:
        if fromObject.fromUrl == row['from']:
            fromObject.toUrl.append(row['url'])  
            break;



for fromObjects in fromUniqueList:
    print(fromObjects.fromUrl)
    print(len(fromObjects.toUrl))

Мой код приводит к 2 экземплярам классов From с одинаковым количеством toUrl размером списка. Я не понимаю, почему оба экземпляра моего класса From имеют одинаковые атрибуты toUrl, если мои данные CSV выглядят так:

CSV выглядит похоже:

from,url,text
google.de,facebook.de,hallo
google.de,yahoo.de,hi
yandex.de,wkw.de,hello

я должен получить в результате: google.de 2 yandex.de 1

но я получаю: google.de 3 yandex.de 3

Вы, где правы, кто когда-либо оставил комментарий. Неверное объявление моей переменной:

class From():
    def __init__(self):
        self.fromUrl=""
        self.toUrl=[]
        self.text=""

Это сработало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...