[ES]Python查询ES导出数据为Excel

版本

elasticsearch==5.5.0
python==3.7

说明

用python查询es上存储的状态数据,将查询到的数据用pandas处理成excel

code

# -*- coding: utf-8 -*-
# @Time    : 2019/7/22 10:41
# @Author  : Skyell Wang
# @FileName: es_data_get.py

from elasticsearch import Elasticsearch
import pandas as pd
import os

def elastic_data(vin):
    """

    :param vin:
    :return:
    """
    # 连接es集群
    es = Elasticsearch(["ip"],
                       http_auth=('elastic', 'password'),
                       port=9200)

    # 根据特定条件获取数据
    body = {
        "query": {
            "term": {
                "vin": vin
            }
        }
    }

    # 取出vin odometer
    para = {
        "_source": "vin,odometer"
    }
    # 获取数据
    query = es.search(index=ddfsdfd', doc_type='dfsf',
                      size=1000, body=body, params=para)
    results = query['hits']['hits']

    # 判断数据是否为空
    if results == []:
        print('vin数据不存在', vin)

    else:
        try:
            # 存储逻辑:如果总里程数据存储,则正常存储,否则置为'null'
            if 'odometer' not in results[0]['_source']:
                results[0]['_source']['odometer'] = 0
                print(results[0]['_source'])
            else:
                print(results[0]['_source'])
        except NameError as e:
            print(e)
        return results[0]['_source']

if __name__ == "__main__":

    path = "E:\MyCode\ML_InAction\data_analysis\data_do"
    gc5_vin = "GC5_vin.csv"
    gc5_vin_path = os.path.join(path, gc5_vin)
    excel_file_name = 'GC5_data.xlsx'
    excel_path = os.path.join(path, excel_file_name)
    # 获取csv文件中固定列(vehicle_identifier)
    df_data = pd.read_csv(gc5_vin_path, usecols=['vehicle_identifier'])

    vin_data_list = []
    for i in range(len(df_data)):
        data_gc5 = elastic_data(df_data['vehicle_identifier'][i])
        # 判断是否为字典类型,如果是则存入list中
        is_dict = isinstance(data_gc5, dict)
        if is_dict:
            vin_data_list.append(data_gc5)
    # 转成dateframe类型,并存入excel
    vin_data_df = pd.DataFrame(vin_data_list)
    vin_data_df.to_excel(excel_path, index=False)
    print("任务已完成!")

python查询ES方法

原文地址:https://www.cnblogs.com/skyell/p/ElasticSearch.html

时间: 2024-07-30 01:11:36

[ES]Python查询ES导出数据为Excel的相关文章

python从mysql导出数据导excel

# coding:utf8 import sys reload(sys) sys.setdefaultencoding('utf8') # author: 'zkx' # date: '2018/3/11' # Desc:从数据库中导出数据到excel数据表中 #已封装,可以直接使用,只需更改sql语句即可 import xlwt import MySQLdb def export(host,user,password,dbname,table_name,outputpath): conn =

PHP导出数据到Excel

PHP导出数据到Excel 在Web开发中经常需要将一些数据导入到Excel表格中,比如需要导出符合条件的用户数据,导出项包括姓名.性别.***号.联系方式等等.那么问题来了,在导出的数据中如果出现比较长的数值类型的项时,默认按科学计数法表示,比如***号这显然不是我们需要的,那么我们怎么做才能让数据按我们要求的格式显示呢? 查到一些相关资料,摘抄如下: 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所

Delphi 导出数据至Excel的7种方法【转】

转自:http://blog.csdn.net/zang141588761/article/details/52275948 一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean; const xlNormal=-4143; var y : integer; tsList : TStringList; s,filename :string; a

pl/sql developer导出数据到excel的方法

http://yedward.net/?id=92 问题说明:使用pl/sql developer导出数据到excel表格中是非常有必要的,一般的可能直接在导出的时候选择csv格式即可,因为该格式可以直接用excel打开.但是,在导出的时候出现了这样的问题,导出成csv格式的时候出现了数据乱码,而导出为xml或者html的时候却不会出现问题. 图1:pl/sql developer导出为csv出现乱码 问题解析:出现上面的问题,可能是字符集的设置问题.我找到了一些其他的数据导出方法,下面一一列出

导出数据到Excel方法总结

导出数据到Excel方法总结 一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再花费很多时间研究这个老生长谈的问题. 二,解决方法 1.       用NPOI导出数据到Excel. 简介:NPOI是一个开源的dotnet类库,官方网站:http://npoi.codeplex.com/. 优点:支持Excel 2003格式,读写速度快,基于.NE

delphi导出数据至Excel的七种方法及比较

一;delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):boolean;const      xlNormal=-4143;var    y     :  integer;    tsList :  TStringList;    s,filename  :string;    aSheet  :Variant;    excel :OleVariant;   

ASP.NET导出数据到Excel 实例介绍

ASP.NET导出数据到Excel  该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建一个asp.ne的tweb应用程序把代码粘贴进去就好了 html页面代码 <%@ Page language="c#" Codebehind="OutExcel.aspx.cs" AutoEventWireup="false" Inherits

ASP导出数据到excel遇到的一些问题

一直用动易平台的ASP做新闻发布网站,直到现在才接触导出数据到Excel的问题,目的在于公司要统计各部门的投稿量,要做这么个东西,实现起来是挺简单的,但是第一次做,还是费了一些功夫的,特此记录一下 主要代码如下: 写查询字符串 rsAll为查询字符串 rsAll.open sqlAll,conn,1,3 Set xlApplication =server.CreateObject( "Excel.Application") '调用excel对象 xlApplication.Visibl

导出数据到Excel表格

开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击事件function 自定义点击事件名(){//然后这里获取当前表格数据的筛选条件var 自定义下拉框名 = $("#下拉框id “).val();//后面根据你的条件数依次写……var 自定义文本框名 = $(”#文本框id ").val(); //然后这里写判断它是否为空 if (自定