Список твитов для обработки - PullRequest
3 голосов
/ 12 мая 2019

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

k1_tweets_filtered - это просто список твитов, в которых есть твиты, удаленные менее чем из 20 символов. То, что я пытаюсь сделать сейчас, - это отправить этот список другой функции для дальнейшей обработки, но она выполняет только 1 твит. Список занят поиском в твиттере.

Проблема в том, что он делает это только для первого твита и ничего больше. Мне нужно, чтобы обработать каждый твит в этом списке. Глядя на len k1_tweets_filtered, его 512 затем len обработанных показывает только 14. Может быть, мой цикл не так?

Спасибо за помощь!

Код:

k1_tweets_processed = []
for tweet in k1_tweets_filtered:
    k1_tweets_processed = pre_process(tweet_k1)
def pre_process(doc):
    doc = doc.lower()
    # getting rid of non ascii codes
    doc = remove_non_ascii(doc)

    # replacing URLs
    url_pattern = "http://[^\s]+|https://[^\s]+|www.[^\s]+|[^\s]+\.com|bit.ly/[^\s]+"
    doc = re.sub(url_pattern, 'url', doc) 

    punctuation = r"\(|\)|#|\'|\"|-|:|\\|\/|!|\?|_|,|=|;|>|<|\.|\@"
    doc = re.sub(punctuation, ' ', doc)

    return [w for w in doc.split() if len(w) > 2]

Он отлично работает для одного твита, но я пытаюсь отправить ему весь список, чтобы каждый твит в нем обрабатывался должным образом. В окончательном списке должен быть правильно обработан каждый твит, а не только первый 1.

1 Ответ

0 голосов
/ 12 мая 2019

похоже, что вы устанавливаете значение списка для вывода функции. Вместо этого вам нужно добавить в список что-то вроде этого в цикле for:

for tweet in k1_tweets_filtered:   
    k1_tweets_processed.append(pre_process(tweet))

Пожалуйста, примите ответ, если это поможет.

...