Voici le code qui récupère des données de la recherche élastique et exporte ces données dans un fichier csv appelé 'mycsvfile'.Comment puis-je imprimer les noms de colonnes dans mon fichier CVS exporté à partir de la recherche élastique?
Je veux changer les noms de colonne afin qu'il soit lisible par un humain.
Voici le code:
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)
quand je lance la requête au-dessus des données du fichier CSV ressemblent ci-dessous:
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
Comme vous pouvez voir les noms de colonnes sont les mêmes que dans le requête et je veux leur donner des noms lisibles lorsque le fichier est en cours de génération.
Est-ce que quelqu'un pourrait montrer et réparer mon code pour que je puisse entrer les noms de colonnes dans le fichier CSV?
Nous vous remercions à l'avance
Votre question est difficile à comprendre. Vous voulez dire que vous n'êtes pas satisfait de "DTDT" et que vous voulez donner un nom différent à cette colonne, par ex. "rendez-vous amoureux"? – Wli
correct, je veux nommer les colonnes comme la date, etc etc désolé pour la confusion, pourriez-vous modifier mon code et me montrer comment faire cela? – Rich
J'ai modifié votre question pour plus de clarté et y avez répondu. – Wli