gpt4 book ai didi

python - 如何在从elasticsearch导出的CSV文件中打印列名?

转载 作者:行者123 更新时间:2023-12-03 00:31:51 24 4
gpt4 key购买 nike

以下是从 flex 搜索中获取一些数据并将其导出到名为“mycsvfile”的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)

当我运行上述查询时,CSV文件数据如下所示:
DTDT    TRDT    SPLE    SACL    RPLE

20170512 12/05/2017 15:39 1001 0 0

20170512 12/05/2017 15:39 1001 0 0

20170908 08/09/2017 02:42 1001 0 0

20170908 08/09/2017 06:30 1001 0 0

如您所见,列名与查询中的列名相同,并且我想在生成文件时为它们提供可读的名称。

有人可以替我显示并修改我的代码,以便将列名称输入CSV文件吗?

先感谢您

最佳答案

您需要的是重命名字典键To do that, you can for example pop it to a new column name.将DTDT更改为日期的示例。

my_dict['date'] = my_dict.pop('DTDT')

我认为您可以弄清楚如何重命名其他列。之后,您可以在for循环中调用 w.writerow

关于python - 如何在从elasticsearch导出的CSV文件中打印列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46689666/

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