python读取、写入以及删除es数据

这篇具有很好参考价值的文章主要介绍了python读取、写入以及删除es数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近这段时间被es所困扰,庆幸最终学会了python操作es,怕以后忘记了,把代码放出来:

1.python读取es数据

from elasticsearch7 import Elasticsearch, helpers


def read_es(host, port, index, query=""):
    # url = {"host": host, "port": port, "timeout": 1500}
    es = Elasticsearch(['url'],
                       http_auth=('user', 'password'),
                       sniff_on_start=False,
                       sniff_on_connection_fail=True,
                       sniffer_timeout=600,
                       sniff_timeout=50,
                       request_timeout=5000)
    print(11111)
    # if es.ping():
    #     print("Successfully connect!")
    # else:
    #     print("Failed.....")
    #     exit()
    if query == "":  # query为es的搜索条件
        query = {
            "query": {
                "match_all": {}
            },
            # "size":1000
        }
    # query = {
    #     "query": {
    #         "term": {
    #             "uid": {
    #                 "value": "1234"
    #             }
    #         }
    #
    #     }
    # }
    res = helpers.scan(es, index=index, scroll="20m", query=query)
    return res


data = read_es("duankou", '9200', "table_name", query="")
print(data)
for i in data:
    print(i)  # i是一个字典类型

2.python删除es数据:


from elasticsearch7 import Elasticsearch
from elasticsearch7.helpers import bulk

def tmp_update_if():
    es = Elasticsearch([url],
                       http_auth=('user', 'password'),
                       sniff_on_start=False,
                       sniff_on_connection_fail=True,
                       sniffer_timeout=600,
                       sniff_timeout=50,
                       request_timeout=5000)
    ids = ['1401',
    '1402',
    '1403',
    '1404',
    '1405',
    '1406']
    query={
        "query":{
            "terms":{
                "_id":ids
            }
        }
    }

    es.delete_by_query(index='dm_msd_foundation', body=query)
    print('---- finish -')
if __name__=="__main__":
    tmp_update_if()

3.python读取txt文档,再写入数据:文章来源地址https://www.toymoban.com/news/detail-522953.html

import json
from elasticsearch7 import Elasticsearch
from elasticsearch7.helpers import bulk
actions=[]
fi_data=[]
def get_data():
    f=open('test.txt',encoding='utf-8')
    f=list(f)
    info=[]
    if len(f)==237:
       b=len(f)-1
    else:
        b=len(f)
    for i in range(b):
        # print(f[i])
        a=f[i].split('\t')
        a[-1]=a[-1].replace('\n','')
        info.append(a)
    print(len(info))
    for i in range(1,b):
        sub_data = {}
        key_name=info[0]
        data=info[i]
        # print(key_name)
        # print(data)
        for j in range(len(data)):
            sub_data[key_name[j]]=data[j]
        fi_data.append(sub_data)
    print(fi_data)
    return fi_data


def write_es(fi_data):
    es = Elasticsearch([url],
                       http_auth=('user', 'password'),
                       sniff_on_start=False,
                       sniff_on_connection_fail=True,
                       sniffer_timeout=600,
                       sniff_timeout=50,
                       request_timeout=5000)
    for elem in fi_data:
        action = {
            "_index": "dm_msd_foundation",
            "_type": "index",
            "_id": elem["id"],  # 将id作为索引的唯一标志
            "_source": elem
        }
        actions.append(action)
    bulk(es, actions, index="dm_msd_foundation", raise_on_error=True)


if __name__=="__main__":
    write_es(get_data())

到了这里,关于python读取、写入以及删除es数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python读取写入数据到Excel文件

    【Linux干货教程】Ubuntu Linux 换源详细教程 大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我! Hello,各位看官老爷们好,洲洲已

    2024年02月12日
    浏览(83)
  • python hdfs远程连接以及上传文件,读取文件内容,删除文件

    目录 一、python连接操作hdfs 1 往hdfs上传文件 2 处理并存储到hdfs 3 读取hdfs上的txt文件 这里使用的是 pip 安装,很方便:      

    2024年02月11日
    浏览(56)
  • 用elasticsearch head查询和删除es数据

    下图中的构成为 http://ip:port/ 索引名/索引类型/_search 请求方式为GET 这种方式是查询该索引下的所有数据 如果要查询更为详细,可以在查询条件后面跟ID,比如 http://ip:port/ 索引名/索引类型名/文档id 请求方式仍然是GET请求 如下图所示 下图是删除指定es下某一文档,其构成为

    2024年02月15日
    浏览(52)
  • Python点云处理(一)点云数据读取与写入

    当处理点云数据时,我们通常需要读取各种不同格式的点云文件。Python作为一种强大的编程语言,在点云处理领域提供了许多库和工具,可以帮助我们读取和处理各种格式的点云文件。本文将介绍如何使用Python读取和写入各种格式的点云文件。 LAS(Lidar Data Exchange)和LAZ(L

    2024年02月08日
    浏览(39)
  • Python处理xlsx文件(读取、转为列表、新建、写入数据、保存)

    xlsxwriter**库对于xslx表的列数不做限制, xlrd 库不能写入超过65535行,256列的数据。 由于需要处理的数据行列数较多,遇到报错才发现库的限制问题,记录一下。

    2024年02月12日
    浏览(70)
  • python如何操作excel,在excel中读取和写入数据

    Excel 是 Microsoft 为使用 Windows 和 Apple Macintosh 操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使 Excel 成为最流行的个人计算机数据处理软件。在 1993 年,作为 Microsoft Office 的组件发布了5.0版之后, Excel 就开始成为

    2024年02月03日
    浏览(61)
  • Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

    文件处理是任何应用程序的重要部分。Java 提供了许多用于创建、读取、更新和删除文件的方法。 Java 文件处理 Java 中的文件处理主要通过 java.io 包中的 File 类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。 要使用 File 类,我们首先需要创建该类的对象,

    2024年03月18日
    浏览(63)
  • SAP_ABAP_编程基础_文件处理(CRUD)_R3系统_打开文件 / 关闭文件 / 删除文件 / 向文件中写入数据 / 从文件中读取数据 / 使用服务器上的文件

    SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客 文章浏览阅读490次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料! https://blog.csdn.net/java_zhong1990/article/details/132469977 平时在  ‘ 工地搬砖 ’,很少关

    2024年02月22日
    浏览(48)
  • python自动化办公——定制化读取Excel数据并写入到word表格

    最近到了毕业设计答辩的时候,老师让我帮毕业生写一段毕业设计的功能就是提供一个 学士学位授予申请表 ,根据定制化需求,编写定制化代码。 docx格式的word如下图。 再提供一个Excel表格,要求可以直接读取表格里的对应内容,填入到word表格里的对应位置。表格是我自己

    2024年02月10日
    浏览(59)
  • Filebeat入门及使用-5 读取nginx日志,写入ES,并用kibana展示

    1 安装nginx, 并找到nginx的日志目录,步骤3要使用 2 配置Filebeat的module,在Filebeat中,有大量的module,如mysql,kafka,redis,nginx等,可以简化我们的配置,方便使用。 查看Filebeat支持模块 命令:./filebeat modules list 启动Nginx模块 启动命令:./filebeat modules enable nginx 禁用命令:./fi

    2023年04月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包