Python从Elasticsearch获取数据并输出.csv文件(附完整代码)

该博客介绍了如何使用Python的Elasticsearch库连接到ES服务器,执行查询,并将结果批量写入CSV文件。文章中展示了读取配置文件、设置查询条件、处理中文编码问题及文件追加写入的详细步骤。示例代码处理了当查询结果偏移量大于10000时的特殊情况,并提供了完整的Elasticsearch查询JSON结构。

# 由于ES限制, 当偏移量>10000时需要特殊处理, 此处略

pip install elasticsearch==6.3.1
from elasticsearch import Elasticsearch
from elasticsearch.helpers import bulk
import csv
import os
import sys
import datetime
import json

# 解决写入文件时中文编码问题
# reload(sys)
# sys.setdefaultencoding('utf-8')

# 存储列名称的list
columnList = []
# 存储value的list
valueList = []


# 获取ES配置json文件
with open('./configs/config.json') as data_file:
    data = json.load(data_file)
    es = Elasticsearch([data[0]["EsHost"]])
    indexName = data[0]["EsIndex"]
    EsBody=data[1]
    print(data[0]['columns'])
    for column in data[0]["columns"]:
        # print(column)
        for col in column:
            # print(column[col])
            columnList.append(column[col])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值