GVKun编程网logo

[bigdata-002]python3 以get方式获取json的api(python获取json的key和value)

23

本文将介绍[bigdata-002]python3以get方式获取json的api的详细情况,特别是关于python获取json的key和value的相关信息。我们将通过案例分析、数据研究等多种方式,

本文将介绍[bigdata-002]python3 以get方式获取json的api的详细情况,特别是关于python获取json的key和value的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于bigdata-016] python happybase 操作hbase、caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)、python – jsonpickle datetime到可读的json格式、Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但它在 Python 2 中有效的知识。

本文目录一览:

[bigdata-002]python3 以get方式获取json的api(python获取json的key和value)

[bigdata-002]python3 以get方式获取json的api(python获取json的key和value)

1. server.py


#!/usr/bin/env python3
#-*- coding:utf-8 -*-

import os
import json
import pickle

from flask import Flask,request,render_template,jsonify,make_response,url_for
from impala.dbapi import connect

#flask app
app = Flask(__name__)

@app.route("/api/v1.0/query",methods=[''GET'',''POST''])
def query():
    res = {}
    # if True:
    print(request.args)
    if request.method == ''GET'':
        res[''t''] = 123
    return jsonify(res)

def start_web_server():
    app.run(host=''0.0.0.0'',port=6666)

if __name__ == "__main__":
    start_web_server()


2. client端

 
import urllib
import urllib.request

url = ''http://127.0.0.1:6666/api/v1.0/query''
values = {''reg_begin_time'' : ''2016-11-01'',''reg_end_time'': ''2016-12-01'',''reg_type'' : ''android'' }


postdata = urllib.parse.urlencode(values)
print(postdata)
postdata = postdata.encode(''utf-8'')
print(postdata)

res = urllib.request.urlopen(url,postdata)

print(res)


bigdata-016] python happybase 操作hbase

bigdata-016] python happybase 操作hbase

1. 用happybase库 操作 hbase
    http://happybase.readthedocs.io/en/latest/

2. cdh集群的hbase集群有三个节点
    hbase的版本是HBase 1.2.0

3. hbase base的log目录小于5g,导致报警,目录在/var/log/hbase,准备清空它。
   删除不需要的log之后,所有服务都从红色变成黄色,log目录太小导致了大部分问题。log目录的容量必须要足够大。

4. python+happybase
    4.1 pyenv global anacodea3-4.1.1
    4.2 pip install happybase
    4.3 测试安装  python -c ''import happybase'',不报错就是正常的
    4.4 要在bigdata-master上启动thrift server:
        hbase thrift -p 9090 start
    4.5 按照如下文档进行操作:
        http://happybase.readthedocs.io/en/latest/user.html#establishing-a-connection
    4.6 Hbase没有数据类型,所有的row keys,column name,column values都是简单视为raw byte string进行处理
    4.7 删除一条记录,也就是一个row_key对应的所有列族

         deleteall ''testtable'',''event_0''

5. 示例代码

#!/usr/bin/env python3
#! coding:utf-8 -*-


import happybase

#要先在hbase某个节点上开启thrift服务
#hbase thrift -p 9090 start
connection = happybase.Connection(''192.168.0.1'',autoconnect=False)
connection.open()

#print所有的表名
print(''All tables: '',connection.tables(),''\n'')

#操作testtable表
#这个操作是一个提前声明-我要用到这个表了-但不会提交给thrift server做操作
table = connection.table(b''testtable'')

#检索某一行
row = table.row(b''myrow-2'')
print(''a row:'',row,''\n'')

#right
print(row[b''colfam1:q1''])
print(row[b''colfam1:q2''])

#wrong
# print(row[''colfam1:q1''])
# print(row[''colfam1:q2''])

#显示所有列族
print(''所有列族'',table.families(),''\n'')

#输出两列
print(''print two rows:'')
rows = table.rows([b''myrow-1'',b''myrow-2''])
for key,data in rows:
    print(key,data)

#字典输出两列
print(''\n'',''print two dict rows'')
rows_as_dict = dict(table.rows([b''myrow-1'',b''myrow-2'']))
print(rows_as_dict)

#输入row的一个列族所有值
row = table.row(b''myrow-2'',columns=[b''colfam1''])
print(''\n'',''输出一个列族'',row)

#scan操作
print(''\n'',''do scan'')
for key,data in table.scan():
    print(key,data)
6. 测试高表插入记录: 批量插入1000条记录,0.1~0.6s 批量插入1万条记录,1.5~3s 每秒7k条记录,性能比较靠谱 7. 测试宽表插入记录: 批量插入1000条记录,0.1~0.6s 批量插入1万条记录,1.5~3s 每秒7k条记录 高表和宽表性能几乎一样!

caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)

caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)

1 import sys
2 sys.path.append(''/projects/caffe-ssd/python'')
3 import caffe
4 net = caffe.NetSpec()

一、ImageData Layer

net.data ,net.label = caffe.layers.ImageData(
name="InputData" source
="train.txt", batch_size=32, new_width=48, new_height=48, ntop=2, is_color=True, shuffle=True, root_folder=''/'', transform_param=dict(crop_size=40,mirror=True)) print str(net.to_proto()) 输出: layer { name: "InputData" type: "ImageData" top: "data" top: "label" transform_param { mirror: true crop_size: 40 } image_data_param { source: "train.txt" batch_size: 32 shuffle: true new_height: 48 new_width: 48 is_color: true root_folder: "/" } }

 

二、Data Layer (lmdb/leveldb)

net.data, net.label = caffe.layers.Data(
    name="InputData",
    source="train_lmdb",
    backend = caffe.params.Data.LMDB,
    batch_size=32,
    ntop=2,
include=dict(phase=caffe.TRAIN) transform_param
=dict( crop_size=227, mean_value=[104, 117, 123], mirror=True ) ) 输出: layer { name: "InputData" type: "Data" top: "data" top: "label" transform_param { mirror: true crop_size: 227 mean_value: 104 mean_value: 117 mean_value: 123 } data_param { source: "train_lmdb" batch_size: 32 backend: LMDB } }

三、HDF5Data Layer

net.data, net.label = caffe.layers.HDF5Data(
            name="InputData",
            source=''./training_data_paths.txt'',
            batch_size=64,
            include=dict(phase=caffe.TRAIN),
            ntop=2
            )

输出:
layer {
  name: "InputData"
  type: "HDF5Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  hdf5_data_param {
    source: "./training_data_paths.txt"
    batch_size: 64
  }
}

另有:
image = L.HDF5Data( 
    hdf5_data_param={ ''source'': ''./training_data_paths.txt'', ''batch_size'': 64 },
     include={''phase'': caffe.TRAIN } 
)

 

python – jsonpickle datetime到可读的json格式

python – jsonpickle datetime到可读的json格式

是否可以将datetime转换为可读的 JSON格式(可以从javascript使用)?目前jsonpickle仅为datetime提供二进制编码值.

解决方法

这里有几个陷阱:

首先,请不要在时区中流量不知道日期时间对象.你会感到痛苦,不是今天,也许不是明天,而是某一天.你可以从别人的错误中学习(我的),或者你可以学到很多困难.据我所知,Python允许你在没有时区的情况下制作日期时间对象是一个错误.

第二,strptime不处理时区!所以你做了正确的事情,然后你以某种格式写了你的日期,并想把它读回来,并且kablooey,你得到’%z格式错误的字符串’.格儿.

使用iso8601库来解析ISO8601日期时间字符串.时区处理.

第三,jsonpickle没有清楚地记录如何滚动你自己的DatetimeHandler.所以,是的,你只是想要一些易读的东西,你发送到Javascript或其他什么?上面的解决方案没问题.你想要的东西是清晰的,但你也想在某些时候把它拉回到Python中?嗯,比较棘手.

这里有一个提示:当您继承库以扩展其功能时,请仔细查看您正在扩展的超类.

我会以不同的方式编写DatetimeHandler.但是下面的作品,包含了我在这个主题上所有来之不易的智慧.哎哟.

import pytz
import jsonpickle
import iso8601
from datetime import datetime

class Blah(object):

    def __init__(self,blah):
        self.datetime = datetime.Now(pytz.utc)
        self.blah = blah

    def to_json(self):
        return jsonpickle.encode(self)

    @classmethod
    def from_json(cls,json_str):
        return jsonpickle.decode(json_str)

class DatePickleISO8601(jsonpickle.handlers.DatetimeHandler):
    def flatten(self,obj,data):
        pickler = self.context
        if not pickler.unpicklable:
            return unicode(obj)
        cls,args = obj.__reduce__()
        flatten = pickler.flatten
        payload = obj.isoformat()
        args = [payload] + [flatten(i,reset=False) for i in args[1:]]
        data['__reduce__'] = (flatten(cls,reset=False),args)
        return data

    def restore(self,data):
        cls,args = data['__reduce__']
        unpickler = self.context
        restore = unpickler.restore
        cls = restore(cls,reset=False)
        value = iso8601.parse_date(args[0])
        return value

jsonpickle.handlers.registry.register(datetime,DatePickleISO8601)

Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但它在 Python 2 中有效

Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但它在 Python 2 中有效

如何解决Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但它在 Python 2 中有效?

我必须将大型遗留 Python 2.7 代码库转换为 Python 3.6,我在 python3 中发现了这一点

datetime.datetime(2020,05,09)

不支持前导 0,会抛出“无效令牌”错误。

但它适用于 Python 2。

让它在 Python 3.6 中工作的最佳方法是什么?

我是否应该在所有代码库中编写/应用全局搜索/替换正则表达式以删除月和日的前导 0? 这个正则表达式会是什么样子?

可能还有其他方法可以迁移此代码?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于[bigdata-002]python3 以get方式获取json的apipython获取json的key和value的讲解已经结束,谢谢您的阅读,如果想了解更多关于bigdata-016] python happybase 操作hbase、caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)、python – jsonpickle datetime到可读的json格式、Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但它在 Python 2 中有效的相关知识,请在本站搜索。

本文标签: