精华内容
下载资源
问答
  • Python中query()方法

    千次阅读 2020-09-17 16:00:05
    qurey()方法可以找到特定的行 需要注意 1.如果数据是dataframe类型,那么需要这样输出筛选出的每一行 for index,row in data.query(“nameXXX").iterrows() 2. 如果XXX是一个变量,那么可以用@XXX的方式来引用这个...

    qurey()方法可以找到特定的行

    需要注意

    1.如果数据是dataframe类型,那么需要这样输出筛选出的每一行
    for index,row in data.query(“nameXXX").iterrows()
    2. 如果XXX是一个变量,那么可以用@XXX的方式来引用这个东西
    for index,row in data.query("name
    @nameA”).iterrows()

    展开全文
  • 首发u3v3, 转载请保留作者ID:Yi_Zhi_Yu首发日期:2017.4.13Python学习群:278529278 (欢迎交流)前言在PHP, 我们使用curl 扩展发送post请求时, 可以通过http_build_query 来构造多维的 post 参数, 用法如下$...

    原创作品:首发u3v3, 转载请保留

    作者ID:Yi_Zhi_Yu

    首发日期:2017.4.13

    Python学习群:278529278 (欢迎交流)

    前言

    在PHP中, 我们使用curl 扩展发送post请求时, 可以通过http_build_query 来构造多维的 post 参数, 用法如下

    $request_params = [

    'name' => 'Yi_Zhi_Yu',

    'scores' => [

    ['name' => 'English', 'score'=>100],

    ['name' => 'Math', 'score'=>100]

    ]];

    echo http_build_query($request_params);

    输出如下

    user=Yi_Zhi_Yu&info%5B0%5D%5Bage%5D=27&info%5B0%5D%5Bsex%5D=man

    通过url decode, 即

    user=Yi_Zhi_Yu&info[0][age]=27&info[0][sex]=man

    这就是post时, 我们需要发送的post body 的内容

    PHP 里有http_build_query, 那python中呢,

    当然没了, 要不然我就不用自己实现了

    问题

    python 里, 我们发送post的时候, 如果需要将post body 做url encode, 有一个urllib2模块可以用

    if __name__ == '__main__':

    request_params = {'name': 'Yi_Zhi_Yu', 'score': 100}

    print(urllib.parse.urlencode(request_params))

    # name=Yi_Zhi_Yu&score=100

    那如果 post 的结构是多维的呢? 看下

    if __name__ == '__main__':

    request_params = {

    'name': 'Yi_Zhi_Yu',

    'scores':[

    {'name': 'English', 'score': 100},

    {'name': 'Math', 'score': 100}

    ]

    }

    print(urllib.parse.urlencode(request_params))

    输出如下

    name=Yi_Zhi_Yu&scores=%5B%7B%27name%27%3A+%27English%27%2C+%27score%27%3A+100%7D%2C+%7B%27name%27%3A+%27Math%27%2C+%27score%27%3A+100%7D%5D

    decode 可视化后:

    name=Yi_Zhi_Yu&scores=[{'name': 'English', 'score': 100}, {'name': 'Math', 'score': 100}]

    name 还算正常, scores直接是个json格式了

    post 请求发送出去后, 需要服务端 decode 才能用

    我们期望的格式应该是类似于PHP http_build_query的结果

    name=Yi_Zhi_Yu&scores[0][name]=English&scores[0][score]=100&scores[1][name]=Math&scores[1][score]=100

    服务端通过POST获取后, 直接就可以作为数组使用

    为此, 我实现了一个简单的版本

    解决

    直接看代码

    import urllib.parse

    def url_encoder(params):

    g_encode_params = {}

    def _encode_params(params, p_key=None):

    encode_params = {}

    if isinstance(params, dict):

    for key in params:

    encode_key = '{}[{}]'.format(p_key,key)

    encode_params[encode_key] = params[key]

    elif isinstance(params, (list, tuple)):

    for offset,value in enumerate(params):

    encode_key = '{}[{}]'.format(p_key, offset)

    encode_params[encode_key] = value

    else:

    g_encode_params[p_key] = params

    for key in encode_params:

    value = encode_params[key]

    _encode_params(value, key)

    if isinstance(params, dict):

    for key in params:

    _encode_params(params[key], key)

    return urllib.parse.urlencode(g_encode_params)

    看测试代码

    if __name__ == '__main__':

    request_params = {'name': 'Yi_Zhi_Yu',

    'scores':[

    {'name': 'English', 'score': 100},

    {'name': 'Math', 'score': 100}

    ]

    }

    #print(urllib.parse.urlencode(request_params))

    print(url_encoder(request_params))

    输出结果经过decode后如下

    scores[1][score]=100&scores[0][score]=100&scores[1][name]=Math&scores[0][name]=English&name=Yi_Zhi_Yu

    服务端在接受到这个POST bod以后, 也可以直接作为数组使用, 请求格式与PHP的 http_build_query基本类似

    不过这里有个问题是, url encode后的参数顺序与原始的request params 不一样了

    这个是因为python的dict本身是无序的, 如果要求有序, 大家可以把默认的dict 替换为OrderDict

    这个作为一个小作业吧, 后续有时间, 我会贴出来结果的

    :)

    误区

    这里还有一个关于PHP的常见误区, 当客户端发起的post请求中, header 的content-type 被设置成了 application/json时, 很多人认为, 在PHP的Server端, 用$_POST就能获取json的请求格式数据了

    然而并非如此, 这种时候, PHP只能通过

    $json = file_get_contents('php://input');

    $obj = json_decode($json);

    获取 json 的数据

    展开全文
  • self.__names = [] self.opts = opts 构造没有func.min这些属性,怎搞出来的,如果对象.__dict__没有这个属性就会执行__getattr__这个方法,所以func.min =_FunctionGenerator(**self.opts) def __getattr__(self, ...

    #来看下源码func是什么鬼

    func = _FunctionGenerator()是这个实例化出来的对象

    class _FunctionGenerator(object):

    """Generate :class:`.Function` objects based on getattr calls."""

    def __init__(self, **opts):

    self.__names = []

    self.opts = opts

    构造没有func.min这些属性,怎搞出来的,如果对象.__dict__没有这个属性就会执行__getattr__这个方法,所以func.min =_FunctionGenerator(**self.opts)

    def __getattr__(self, name):

    # passthru __ attributes; fixes pydoc

    if name.startswith('__'):

    try:

    return self.__dict__[name]

    except KeyError:

    raise AttributeError(name)

    elif name.endswith('_'):

    name = name[0:-1]

    f = _FunctionGenerator(**self.opts)

    f.__names = list(self.__names) + [name]

    return f

    print(func.sum)

    1238299-20180922235520341-975462134.png

    #func.sum()就是调用 __call__方法

    def __call__(self, *c, **kwargs):

    o = self.opts.copy()

    o.update(kwargs)

    tokens = len(self.__names)

    if tokens == 2:

    package, fname = self.__names

    elif tokens == 1:

    package, fname = "_default", self.__names[0]

    else:

    package = None

    if package is not None:

    func = _registry[package].get(fname)

    if func is not None:

    return func(*c, **o)

    return Function(self.__names[-1],

    packagenames=self.__names[0:-1], *c, **o) #func.sum(Article.price) 相当于 select sum(price) from article

    1238299-20180922235957246-1621903411.png

    1238299-20180923000114527-1752138723.png

    展开全文
  • Python_021】pandas中query用法

    千次阅读 2020-07-02 15:53:39
    之前写过一篇【Python_017】sql语法在pandas的实现 但总觉得dataframe用来定位特别麻烦,不如sql简单易读。 直到发现pd.query!!基本上四舍五入和sql的where非常接近了! 以一个简单df举例 import pandas as pd...

    之前写过一篇【Python_017】sql语法在pandas中的实现
    但总觉得dataframe用来定位特别麻烦,不如sql简单易读。
    直到发现pd.query!!基本上四舍五入和sql的where非常接近了!

    以一个简单df举例
    在这里插入图片描述

    import pandas as pd 
    df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':['aaa','bbb','bbb']})
    
    df.query("C=='bbb'")
    '''
    	A	B	C
    1	2	5	bbb
    2	3	6	bbb
    '''
    
    df.query("B>=5")
    '''
    	A	B	C
    1	2	5	bbb
    2	3	6	bbb
    '''
    df.query("[2,3] in A")
    '''
    	A	B	C
    1	2	5	bbb
    2	3	6	bbb
    '''
    
    df.query("A<B")
    '''
    	A	B	C
    0	1	4	aaa
    1	2	5	bbb
    2	3	6	bbb
    '''
    
    df.query("A==1 & B==4")
    '''
    	A	B	C
    0	1	4	aaa
    '''
    

    太简洁了!get到新方法后再也不排斥拿py读数据了!

    展开全文
  • python ORM Query

    2019-06-18 17:36:46
    # Query用法的完整演练 1.all() 将此表示的结果Query作为列表返回。 这导致执行基础查询 2.count() 返回此Query将返回的行数。 这将为此Query生成SQL,如下所示: SELECT count(1) AS count_1...
  • Python Data Analysis Library 或 pandas 是基于...pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。相较于 Python 的内置函...
  • 本文实例讲述了Python中str.join()简单用法。分享给大家供大家参考,具体如下:Python join() 方法用于将序列的元素以指定的字符连接生成一个新的字符串。其中,序列的元素应是字符串类型。join()方法语法:str....
  • python.query()函数

    万次阅读 2020-04-14 13:40:29
    #使用python.query()函数对数据框进行(挑选行)的操作 import pandas as pd d={ 'name':['a','n','c','d','e','f'], 'Gender':['male','female','male','male','female','female'], 'age':[23,24,24,22,21,20],...
  • 通过Power BI Python 在...那么反过来如何在Python中使用Power Query中的数据了? 首先我们进入Power Query管理器界面,通过新建一个空查询,并建立一个1到100的列表,再将其转换为表 随后我们依次点击“转换/运行P...
  • SQLAlchemyQuery方法...query方法非常灵活,你可以根据需要使用不同的查询方式查找数据,下面一一举例。 1.直接通过映射类查找: #Querying user instance for instance in session.query(User).order_by(Use
  • 主要介绍了python 使用get_argument获取url query参数的相关资料,需要的朋友可以参考下
  • 此仓库的目的是向用户介绍使用Excel加载项一些基本工具,以及使用Python数据科学库向他们介绍类似的方法。 如果您是Power Query的新手,我强烈建议您查看第1部分,因为后续的部分将假定第1部分介绍的基本知识。 ...
  • querpy - 使在 Python 构建 SQL 字符串尽可能轻松 Query 类旨在提供用于构建/编辑 SQL 查询字符串的高级接口。 用法示例: >> > from querpy import Query >> > new_query = Query () >> > new_query . f += ...
  • python中MySQLdb模块用法实例

    千次阅读 2016-06-12 09:57:17
    本文实例讲述了python中MySQLdb模块用法。分享给大家供大家参考。具体用法分析如下: MySQLdb其实有点像php或asp连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接口,我们可以在python中连接MySQLdb来...
  • python 使用get_argument获取url query参数ornado的每个请求处理程序,我们叫做handler,handler里可以自定义自己的处理程序,其实也就是重写方法,如post,get,get_current_user,send_error等等,这里我们只讲get...
  • 这篇文章主要介绍了举例简单讲解Python中的数据存储模块shelve的用法,shelveshelve模块与pickle模块的功能相近,比pickle用起来更为简单,需要的朋友可以参考下 shelve类似于一个key-value数据库,可以很方便的用来...
  • 个人环境:win10 + pycharm + python3.7.1 Elasticsearch 的安装 我们可以到 Elasticsearch 的官方网站下载 Elasticsearch:https://www.elastic.co/downloads/elasticsearch,同时官网也附有安装说明。 首先把...
  • 于是有下面的代码:if q.isalpha(): query = query.filter(User.username.ilike(like_str))else: query = query.filter(User.realname.ilike(like_str))但是发现就算里面有中文也被判断成 isalpha 为...
  • python中使用asyncio中使用requests

    千次阅读 2017-12-23 16:21:28
    起因需要写个爬虫去爬一些数据,于是用python写了个,但由于众所周知的GIL锁问题,python的多线程其实效率并不高,于是准备采用协程的方法去实现,在写demo测试的时候就遇到问题了,使用await去等待requests的响应却...
  • python连接clickhouse使用方法

    千次阅读 2019-11-29 17:21:14
    python开发经常会用到clickhouse的连接方案,下面所列一个简单的连接clickhouse的写法 正文 from clickhouse_driver import Client as click_client def click_server(ip: str, user: str, pwd: str, port='8123...
  • Python中MySQLConnector模块使用方法详解

    万次阅读 2016-01-10 20:00:23
    MySQL Connector/Python 是 MySQL 官方提供的 Python 连接 MySQL 数据库的驱动程序了,很多初学者对于 在python中连接mysql数据库还是有点为难了,下文我们只需要了解这个MySQLConnector模块问题就可以解决了。...
  • python sql cursor用法

    万次阅读 2018-01-11 17:42:29
    python 操作数据库,可以使用pymysql包。 操作步骤如下: 1)首先导入pymysql import pymysql 2)建立连接 def connectDB(): conn = pymysql.connect(host='localhost', port=3306, user='root', ...
  • python中使用mysql

    千次阅读 2014-05-24 00:36:45
    缘由 最近在折腾一个小东西需要抓取网上的页面,然后进行解析,将结果放到数据库。了解到Python在这方面有优势,便...百度之后可以通过MySQLdb进行数据库操作,查看文档,了解到python中提供了一个mysql时直接实现
  • python中limit()和offset()的用法

    千次阅读 2019-02-21 10:22:44
    python中limit()和offset()的用法 limit()限制结果集每次值查询几条数据 offset()可以限制查找对象数据的时候过滤掉多少条 切片,可以对Query对象使用切片操作,来获取想要的数据,可以使用 select(start,stop)方法来求...
  • python records 库使用方法

    千次阅读 2019-10-14 22:43:45
    records 库由大名鼎鼎的 Kenneth Reitz 开发,他也是 python requsts 库的作者。records 库的口号是 SQL for the human。开发人员基本只需要关注 SQL 语句。 连接数据库 records 库基于 sqlalchemy 实现,所以连接...
  • 在数据处理过程经常会用到数据筛选,Pandas 提供了数据筛选的多种方法,这里给大家分享下 在Pandas应用 query 函数来进行数据筛选。 query 函数的一般用法如下: df.query('expression') 文中的代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,082
精华内容 28,432
关键字:

python中query的用法

python 订阅