gpt4 book ai didi

python - 将 Elasticsearch 结果导出到 CSV 文件

转载 作者:行者123 更新时间:2023-12-01 02:32:07 26 4
gpt4 key购买 nike

我正在尝试将使用以下查询找到的结果导出到桌面上的 CSV 中。

这是我第一次使用 Elasticsearch 和 cURL,所以我对如何执行此操作感到困惑。

from elasticsearch import Elasticsearch

es = Elasticsearch(["9200"])

# Replace the following Query with your own Elastic Search Query
res = es.search(index="search", body=
{
"_source": ["DTDT", "TRDT", "SPLE", "RPLE"],
"query": {
"bool": {
"should": [
{"wildcard": {"CN": "TEST1"}}

]
}
}
}, size=10)

for doc in res['hits']['hits']:
print(doc)

现在,当我运行此查询时,它会返回 dave 的姓名、姓氏、地址和性别,我想在运行查询时将结果放入桌面上的 csv 中。

我一直在阅读此链接,了解如何执行此操作,但我不确定如何让我的查询执行此操作 - ( https://docs.python.org/3/library/csv.html )

有人可以帮助并向我展示如何在导出 csv 时转换我的查询吗!

谢谢

我得到的输出是 -

{'_index': 'search', '_type': 'trades', '_id': '179299804977823744', '_score': 1.0, '_source': {'DTDT': '20170928', 'SPLE': '1001', 'RPLE': '1001', 'TRDT': '2017-09-28 17:01:19'}}

最佳答案

您可以使用csv模块写入数据。

根据您给出的输出,我假设您想要将数据从 _source 写入 csv 文件。

代码:

from elasticsearch import Elasticsearch
import csv

es = Elasticsearch(["9200"])

# Replace the following Query with your own Elastic Search Query
res = es.search(index="search", body=
{
"_source": ["DTDT", "TRDT", "SPLE", "RPLE"],
"query": {
"bool": {
"should": [
{"wildcard": {"CN": "TEST1"}}

]
}
}
}, size=10)



with open('mycsvfile.csv', 'w') as f: # Just use 'w' mode in 3.x
header_present = False
for doc in res['hits']['hits']:
my_dict = doc['_source']
if not header_present:
w = csv.DictWriter(f, my_dict.keys())
w.writeheader()
header_present = True


w.writerow(my_dict)

关于python - 将 Elasticsearch 结果导出到 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46682018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com