Как перенести данные в эластичный поиск с датафрейма в Python

Я пытаюсь использовать упругие библиотеки поиска, такие как pyelasticsearch а также elasticsearch Я не получаю какой-либо метод, где я могу передать dataframe, и этот метод будет загружать данные фрейма данных для упругого поиска.

Я пытаюсь этот код:

for i,df in enumerate(csvfile): 
print (i)
records=df.where(pd.notnull(df), None).T.to_dict()
list_records=[records[it] for it in records]
print(list_records)
try :
    es.bulk_index("call_demo_data1","tweet",list_records)
except :
    print ("error!, skiping some tweets sorry")
    pass

где csvfile - это мой dataframe, где все мои данные присутствуют. но я получаю следующую ошибку

'str' object has no attribute 'where'

Я использовал рекомендацию в комментариях

Теперь эта проблема решена, я получаю эту ошибку при массовой загрузке

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

Вот код, который я использую сейчас:

records= csvfile.T.to_dict()
list_records=[records[it] for it in records]
#print(list_records)
es.bulk_index("call_demo_data1","tweet",list_records)

Я получаю ошибку:

too many values to unpack (expected 2) 

эта ошибка появляется при массовой индексации. CSV-файл в приведенном выше коде является фреймом данных. Я использую эту библиотеку pyelasticsearch

Это ошибка трассировки Проследить

0 ответов

Другие вопросы по тегам