网络编程
位置:首页>> 网络编程>> Python编程>> Python制作数据导入导出工具

Python制作数据导入导出工具

作者:hebedich  发布时间:2023-07-25 06:59:59 

标签:Python,数据导入导出

python 2.6编写,自己瞎写的,备用


'''
 Export and Import ElasticSearch Data.
 Simple Example At __main__
 @author: wgzh159@163.com
 @note: uncheck consistency of data, please do it by self
'''

import json
import os
import sys
import time
import urllib2

reload(sys)
sys.setdefaultencoding('utf-8') # @UndefinedVariable

class exportEsData():
 size = 10000
 def __init__(self, url,index,type):
   self.url = url+"/"+index+"/"+type+"/_search"
   self.index = index
   self.type = type
 def exportData(self):
   print("export data begin...")
   begin = time.time()
   try:
     os.remove(self.index+"_"+self.type+".json")
   except:
     os.mknod(self.index+"_"+self.type+".json")
   msg = urllib2.urlopen(self.url).read()
   print(msg)
   obj = json.loads(msg)
   num = obj["hits"]["total"]
   start = 0
   end = num/self.size+1
   while(start<end):
     msg = urllib2.urlopen(self.url+"?from="+str(start*self.size)+"&size="+str(self.size)).read()
     self.writeFile(msg)
     start=start+1
   print("export data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
 def writeFile(self,msg):
   obj = json.loads(msg)
   vals = obj["hits"]["hits"]
   try:
     f = open(self.index+"_"+self.type+".json","a")
     for val in vals:
       a = json.dumps(val["_source"],ensure_ascii=False)
       f.write(a+"\n")
   finally:
     f.flush()
     f.close()

class importEsData():
 def __init__(self,url,index,type):
   self.url = url+"/"+index+"/"+type
   self.index = index
   self.type = type

def importData(self):
   print("import data begin...")
   begin = time.time()
   try:
     f = open(self.index+"_"+self.type+".json","r")
     for line in f:
       self.post(line)
   finally:
     f.close()
   print("import data end!!!\n\t total consuming time:"+str(time.time()-begin)+"s")
 def post(self,data):
   req = urllib2.Request(self.url,data,{"Content-Type":"application/json; charset=UTF-8"})
   urllib2.urlopen(req)

if __name__ == '__main__':
 '''
   Export Data
   e.g.
             URL          index    type
   exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()

export file name: watchdog_mexception.json
 '''
 #exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()
 exportEsData("http://10.100.142.60:9200","watchdog","mexception").exportData()

'''
   Import Data

*import file name:watchdog_test.json  (important)
         "_" front part represents the elasticsearch index
         "_" after part represents the elasticsearch type
   e.g.
             URL          index    type
   mportEsData("http://10.100.142.60:9200","watchdog","test").importData()
 '''
 #importEsData("http://10.100.142.60:9200","watchdog","test").importData()
 importEsData("http://10.100.142.60:9200","watchdog","test").importData()

以上所述就是本文的全部内容了,希望大家能够喜欢。

0
投稿

猜你喜欢

  •   ASP中从数据库读取二进制文件数据代码:<%driver_name1="DRIVER={Microsoft&n
  • XML是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂
  • 设计师常常使用一些独特的字体效果和页面效果,阴影是其中一个,它可以让页面中的文字和元素具有立体的效果,从而被突出出来。比如对于文字阴影,传统
  • 密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失。作为网站设计者,如果我们在网页中能对用户输入的
  • 在了解了XHTML 2的进展之后,我们再来看看X/HTML 5 的进展。X/HTML 5酷在什么地方章节元素的构想X/HTML 5引入新的元
  •  <% Rem  Rem ## 在线升级类声明 Class Cls_oUpdate
  • 于是写测试程序。。。不行 下载最新的ODBC。。。还是不行 通过sql plus查询。。。咦?竟然也查不到。。。 于是,折腾。。。折腾。。。
  • 本文介绍如何建立基于Web的日历,同时为不熟悉Active Server Pages(ASP)、SQL和ADO的开发者提供建立Web站点的过
  • 0. 前言无论在工作中,还是学习中,都会出现这样子的需求,对某张表进行了排序(按时间排序也好,其他字段排序也罢),然后获取前x行的数据,由于
  • LOAD DATA INFILE '文件地址' INTO TABLE 表名 FIELDS TERMINATED BY 
  • laravel入门简介作为PHP最常用的框架之一,Laravel的框架目录布置得尤其清晰,适用于各种类型的项目开发。今天来记录下larave
  • HTML是万维网上发布超文本的通用语言[1]。从1982年Tim Berners-Lee简化SGML建立HTML的原始定义到2001年发布X
  • 阅读上一篇文章《WEB2.0网页制作标准教程(5)head区的其他设置》在开始正式内容制作之前,我们必须先了解一下web标准有关代码的规范。
  • MySQL低调宣布它将不再把MySQL企业版服务器作为一个tar包发布,而这距离这个公司宣布将MySQL分为免费版和付费版的时间还不到一年。
  •  分页显示是页面常用技术,可用下列代码来实现:<%page=Request.QueryString("page&q
  • SOLyog的下载、安装以及使用很简单。我去了相关网站下载,它只有384K字节大小。它把两个文件(一个可执行文件.exe和一个动态链接库文件
  • 虽然淘宝商城的名字中带有“商城”两字,但是很显然的,淘宝商城并不是一个B2C商城,淘宝商城仍只是一个C2C平台,充其量只是个收费版的淘宝。在
  • 1、应该将 CSS 放置于结构的上方(一般放置于 head 元素内)。CSS 是解释型语言,Firefox 和 IE 在等待 CSS 传输完
  • 说起模板引擎,很多人会认为这是后台的东西(如PHP的Smarty、Java的Velocity),跟前端没有关系。然而,随着前端的逻辑变得越来
  • 我设了两个SESSION:SESSION(A1),SESSION(A2),然后我现在想结束其中一个SESSION(如:ESEEION(A1)
手机版 网络编程 asp之家 www.aspxhome.com