Создать набор строк из файла CSV в Python - PullRequest
0 голосов
/ 13 декабря 2018

Пожалуйста, не помечайте мой ответ мгновенно, потому что я искал несколько других вопросов, которые не решили мою проблему, например this.

Я пытаюсь сгенерировать набор питоновстрок из файла CSV.Печатный кадр данных pandas загруженного csv-файла имеет следующую структуру:

   0
0  me
1  yes
2  it

Для проекта, который мне нужно отформатировать, чтобы он выглядел следующим образом

STOPWORDS = {'me', 'yes', 'it'}

Я пытался сделать этопо следующему коду.

import pandas as pd

df_stopwords = pd.read_csv("C:/Users/Jakob/stopwords.csv", encoding = 'iso8859-15', header=-1)

STOPWORDS = {}
for index, row in df_stopwords.iterrows():
    STOPWORDS.update(str(row))

print(STOPWORDS)

Однако я получаю эту ошибку:

dictionary update sequence element #0 has length 1; 2 is required

Когда я использую STOPWORDS.update(str(row)), я получаю эту ошибку:

'dict' object has no attribute 'add'

Спасибо всем заранее!

Ответы [ 4 ]

0 голосов
/ 13 декабря 2018

Как указано в принятом ответе здесь .Возможно, вы захотите использовать itertuples(), так как он быстрее.

STOPWORDS = set()
for index, row in df_stopwords.itertuples():
    STOPWORDS.add(row)

print(STOPWORDS)
0 голосов
/ 13 декабря 2018

Вы можете напрямую создать set из значений в кадре данных с помощью:

set(df.values.ravel())
{'me', 'yes', 'it'}
0 голосов
/ 13 декабря 2018

Похоже, вам нужно преобразовать значения в столбце в виде списка, а затем использовать список в качестве стоп-слов.

stopwords = df_stopwords['0'].tolist()
--> ['me', 'yes', 'it']
0 голосов
/ 13 декабря 2018

Словарь - это отображение ключей и значений.Как объект во многих других языках.Поскольку он нужен как набор, определите его как набор.Не меняйте его на набор позже.

import pandas as pd

df_stopwords = pd.read_csv("C:/Users/Jakob/stopwords.csv", encoding = 'iso8859-15', header=-1)

STOPWORDS = set()
for index, row in df_stopwords.iterrows():
    STOPWORDS.add(str(row))

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