贪婪和非贪婪模式 Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在*、?、+、{m,n}后面加上?...(\d+-\d+-\d+-\d+)", s) r.group(1) # '234-235-22-423' 正则表达式模式中使用到通配字,那它在从左到右的顺序求值时,会尽量“抓取”满足匹配最长字符串,在我们上面的例子里面...+会从字符串的启始处抓取满足模式的最长字符,其中包括我们想得到的第一个整型字段的中的大部分,\d+只需一位字符就可以匹配,所以它匹配了数字4,而....+则匹配了从字符串起始到这个第一位数字4之前的所有字符。
设计一套协议,按照某种规则,把内存中的数据转换为字节序列,保存到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。...Python中提供了JSON和pickle两个模块用来实现数据的序列化和反序列化。...JSON模块 JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式,它基于 ECMAScript 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据...JSON的本质是字符串! 使用JSON实现序列化 JSON提供了dump和dumps方法,将一个对象进行序列化。 dumps方法的作用是把对象转换成为字符串,它本身不具备将数据写入到文件的功能。...并不是所有的对象都可以直接转换成为一个字符串,下标列出了Python对象与json字符串的对应关系。
__new__(cls) A() 总结 __new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供。 __new__必须要有返回值,返回实例化出来的实例。...单例设计模式 举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。...因此回收站是单例模式的应用。 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例类是一种对象创建型模式。...由于第一次创建实例后__is_first被设置为False,因此后续创建的实例不会执行初始化操作。 最后打印出实例a和b的内存地址,发现它们是同一个实例。...打印出a.age和b.age,发现它们的值都是18,说明它们共享相同的属性。 修改a.age为19,再次打印b.age,发现其值也是19,说明对一个实例的属性进行修改会影响到其他所有实例。
另外,你会学到如何从HTML文件中检索信息。...例如,range(0, 3)生成的序列是0,1,2. 存储数据到Excel文件中也很简单。仅需调用.to_excel(...)方法,第一个参数传你要保存数据的文件名,第二个参数传工作表的名字。...从工作簿中提取所有工作表的名字,并存入sheets变量。这里我们的工作簿中只有一个工作表,所以sheets变量就等于'Sacramento'。...加粗部分指的是列名()和对应的值()。 解析完所有字段后,使用'\n'.join(...)方法,将xmlItem列表中所有项连接成一个长字符串。......本技法会介绍如何从网页获取数据。 1. 准备 要实践这个技巧,你要先装好pandas和re模块。re是Python的正则表达式模块,我们用它来清理列名。
sheet_name:指定要读取的工作表名称。可以是字符串、整数(表示工作表索引)或list(表示要读取的多个工作表)。 header:指定哪一行作为列名。默认为0,表示第一行作为列名。...有时候从后台系统里导出来的数据就是JSON格式。 JSON文件实际存储的时一个JSON对象或者一个JSON数组。...pandas导入JSON数据 read_json() read_json函数是一个读取JSON文件的函数。它的作用是将指定的JSON文件加载到内存中并将其解析成Python对象。...解析后的Python对象的类型将根据JSON文件中的数据类型进行推断。...文件,在Sheet1中写入数据,不保存索引列,保存列名,数据从第3行第2列开始,合并单元格,使用utf-8编码,使用pandas的默认引擎。
左连接 从一个表中选择行,这些行在其他表中可能有也可能没有对应的行。 自连接 通过将表与自身进行比较来将表与其自身连接。 完全外连接 使用完全连接查找一个表中在另一个表中没有匹配行的行。...交叉连接 生成两个或多个表中的行的笛卡尔积。 自然连接 根据连接表中的公共列名称,使用隐式连接条件连接两个或多个表。 第 4 节....创建表 指导您如何在数据库中创建新表。 SELECT INTO 和 CREATE TABLE AS 向您展示如何从查询的结果集创建新表。...hstore 向您介绍数据类型,它是存储在 PostgreSQL 中单个值中的一组键/值对。 JSON 说明如何使用 JSON 数据类型,并向您展示如何使用一些最重要的 JSON 运算符和函数。...PostgreSQL 技巧 主题 描述 如何比较两个表 描述如何比较数据库中两个表中的数据。 如何在 PostgreSQL 中删除重复行 向您展示从表中删除重复行的各种方法。
excel的sheet配置主从关系来输出任意多级json json的每一级都支持列表和字典配置 可在excel单元格中直接配置列表和字典作为下级内容 json可输出为便于阅读的格式化文件或是省空间的字符串文件...有主从关系则从表名称作为主表的项,从表数据根据配置输出到该项中(从表为obj类型除外) 表格主从关系配置 主表名称为正常表名,作为最后输出的表名 从表名格式为 从表名~主表名 从表中需要配置对应主表主键的列...,表头以开头,可以仅为 可对表名加上修饰符进行输出限定,格式为 表名#修饰符,修饰符可以为: obj:该表的每一项作为单独的对象输出,如果是从表则直接单独将每一条数据作为子项目添加到上级表单中 dic...:该表以字典的形式输出,每条数据的主键作为字典每一项的key,如果是从表则根据依赖的主表主键合并为字典并以输出到对应主表中 不加限定或其他限定则均默认为列表输出,如果是从表则根据依赖的主表主键合并为列表并以输出到对应主表中...加限定的从表格式为 从表名#修饰符~主表名 表格数据基本配置 键名为空或者健名前加上!
如何测试计算 SELECT提供了测试和试验函数与计算的一个很好的办法。虽然SELECT通常用来从表中检索数据,但可以省略FROM子句以便简单地访问和处理表达式。...INSERT SELECT 中的列名 为简单起见,这个例子在 INSERT 和 SELECT 语句中使用了相同的列名。但是,不一定要求列名匹配。事实上,MySQL 甚至不关心SELECT 返回的列名。...它使用的是列的位置,因此 SELECT 中的第一列(不管其列名)将用来填充表列中指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。这对于从使用不同列名的表中导入数据是非常有用的。...删除表的内容而不是表 DELETE 语句从表中删除行,甚至是删除表中所有行。但是,DELETE不删除表本身。 更快的删除 如果想从表中删除所有行,不要使用 DELETE。...table 表名 MODIFY 列名 列类型; // 仅修改列类型 ALERT table 表名 CHANGE 原列名 新表名 新类型 // 修改列类型及名称 FIRST 和 AFTER 关键字可用于
正则表达式 正则表达式是一种用于匹配和处理文本的工具,可以定义规则和模式来查找、替换和提取目标数据。Python中内置的re模块可用于操作正则表达式。 正则表达式中常用的元字符和特殊序列 ....首先,使用open()函数打开一个文件,传入两个参数:文件名和打开模式。打开模式可以是 “w”(写入)、“a”(追加)、“r”(只读)等。如果文件不存在,将会创建一个新的文件。...在Python中,我们可以使用相应的数据库驱动程序(如mysql-connector-python、sqlite3和pymongo)来连接数据库并执行操作。...查询数据: 使用SELECT语句从表格中检索数据。指定所需的列和表格名称。你还可以使用WHERE子句添加筛选条件。...例如: SELECT * FROM users; 这将检索出"users"表格中的所有列和行。
:(强硬、相当于企业中的ceo) 针对于操作数据库对象(表格)的层面: 包含: ①.创建表:create table ... ②.删除表:drop table ... ③.修改表(增加/删除/...东方不败、欧阳震华 区分定长和变长字符: 对于变长字符而言,如果数据存不满,数据库底层会自动的将剩余的容量节省出来,但是检索效率比较慢(相当于定义而言) 对于定长字符而言,如果数据存不满,数据库底层会还是会将多余的容量用掉...(浪费),但是检索效率比较快(相当于变长而言) 3).日期型: 关键字:date DDL操作之创建表格: 格式: create table 表名( 列名1 数据类型1(长度), 列名2 数据类型...列名n 数据类型n(长度) ); 注意事项: 1).标点符号全部必须是英文输入法下的 2).表名我们不能重名,不要使用中文命名 3).最后一个列名后面可以省略分号 需求: 创建我们的第一张表格...:表名(python1808_你的名字) 设计的列和类型&长度如下: 列名类型&长度 姓名(name)varchar2(30) 年龄(age)number(3) 性别(sex)char(2)
二、关系型数据库设计规则 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。...一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。...ORM思想 (Object Relational Mapping)体现: 数据库中的一个表 Java或Python中的一个类 表中的一条数据 类中的一个对象(或实体) 表中的一个列...重命名一个列 便于计算 紧跟列名,也可以在列名和别名之间加入关键字AS,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。...对的,就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的,而不是从数据表中动态取出的。
表(table) 某种特定类型数据的结构化清单,存储在表中的数据是同一种类型的数据或清单。 数据库中每个表都有唯一的名字标识自己,实际上是数据库名和表名等的组合。...表的特性定义数据在表中如何存储,存储哪类数据,数据如何分解,各部分信息如何命名等。 模式(schema)用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。...关键字(keyword) 作为SQL组成部分的保留字,关键字不能用作表或列的名字。 2.2 检索单个列 用SELECT语句从Products表中检索名为prod_name的列。...SQL关键字应大写,列名和表名应小写。 2.3 检索多个列 在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。...因此,表示(如把上面的价格值显示为正确的十进制数值货币金额)一般在显示该数据的应用程序中规定。 2.4 检索所有列 SELECT语句可以检索所有的列,在实际列名的位置使用星号(*)通配符。
用户密码 10.4 枚举 DBMS 权限 10.5 枚举数据库名 10.6 枚举数据库表 10.7 枚举数据库表的列名 10.8 枚举数据值 0x0B sqlmap 枚举信息 11.1 枚举 schema...–dbs 列举数据库名称 10.6 枚举数据库表 –tables 枚举表名 –> 指定具体数据库 -D 数据库名 –exclude-sysdbs 只列出用户自己新建的数据库和表 (排除...模式列表将包含所有数据库、表和列,以及它们各自的类型。与–exclude-sysdb结合使用时,只会检索和显示包含非系统数据库的模式的一部分。...–common-tables 暴力激活成功教程表名 –common-columns 暴力激活成功教程列名 11.6 读取文件 前提:已知目标主机文件路径 –file-read 路径 读取对应文件内容...14.6 从响应页面解析错误 如果web应用程序配置为调试模式,以便在HTTP响应中显示后端数据库管理系统错误消息,sqlmap可以解析并显示它们。
标签:Python与Excel协同 本文将探讨学习如何在Python中读取和导入Excel文件,将数据写入这些电子表格,并找到最好的软件包来做这些事。...数据可能位于Excel文件中,也可能使用.csv、.txt、.JSON等文件扩展名来保存。数据可以是定性的,也可以是定量的。根据计划解决的问题类型,数据类型可能会有所不同。...可以通过运行type(wb)检查wb的类型。 图10 上面的代码块返回在Python中加载的工作簿的工作表名称。接下来,还可以使用此信息检索工作簿的单个工作表。...就像可以使用方括号[]从工作簿工作表中的特定单元格中检索值一样,在这些方括号中,可以传递想要从中检索值的确切单元格。...当然,这些属性是确保正确加载数据的一般方法,但尽管如此,它们可以而且将非常有用。 图17 至此,还看到了如何在Python中使用openpyxl读取数据并检索数据。
语句从表中检索一个或者多个数据列。...但是一般规范的写法是:SQL关键字进行大写,列名和表名是小写的 在处理SQL语句的时候,其中所有的空格都是忽略的;但是分行写,语句更清晰,更好理解 -- 写法1 SELECT prod_name -...; 需要注意4点: 在复制的过程中,任何SELECT选项和子句都可以使用,包含WHERE 和GROUP BY子句 可以利用联结从多个表插入数据 不管从多少个表中检索数据,数据最终只能插入到一个表中 INSERT...: 表名紧跟CREATE TABLE 关键字 列名在圆括号中,各个列之间通过逗号隔开 每列的定义以列名开始,后紧跟数据类型 ,是否允许控制等 整条语句是以分号结束 使用NULL值 NULL值就是没有值或者缺失值...可以授予用户访问表的特定部分数据,而不是整个表的数据 更改数据格式和表示、视图可以返回和底层表的表示和格式不同的数据 笔记:视图本身不包含数据,使用的是从别处检索出来的数据。
这两种格式的文件都可以用Python的Pandas模块的read_excel方法导入。read_excel方法返回的结果是DataFrame, DataFrame的一列对应着Excel的一列。...如下这个题目 假如encoding 如果是utf-8 的话就是乱码 usecols控制输出第一列和第三列 列名重命名 1.3、导入JSON格式数据 JSON是一种轻量级的数据交换格式,容易阅读...有时候从后台系统里导出来的数据就是JSON格式。 JSON文件实际存储的时一个JSON对象或者一个JSON数组。...JSON对象是由多个键值对组成的,类似于Python的字典; JSON数组由多个JSON对象组成,类似于Python列表。...2.2 xlsx格式数据输出 【例】对于上一小节中的问题,如销售文件格式为sales.xlsx文件,这种情况下该如何处理?
分隔符长于一个字符并且不是‘\s+’,将使用python的语法分析器。并且忽略数据中的逗号。...可以选择C或者是python,C引擎快但是Python引擎功能更多一些 converters(案例2) 设置指定列的处理函数,可以用"序号"也可以使用“列名”进行列的指定 true_values / false_values...如果使用infer参数,则使用 gzip, bz2, zip或者解压文件名中以‘.gz’, ‘.bz2’, ‘.zip’, or ‘xz’这些为后缀的文件,否则不解压。...有的IDE中利用Pandas的read_csv函数导入数据文件时,若文件路径或文件名包含中文,会报错。...注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe,表名用字符串表示,索引表位置用整数表示; header 指定作为列名的行,默认0,即取第一行
分隔符长于一个字符并且不是‘\s+’,将使用python的语法分析器。并且忽略数据中的逗号。...可以选择C或者是python,C引擎快但是Python引擎功能更多一些 converters(案例2) 设置指定列的处理函数,可以用"序号"也可以使用“列名”进行列的指定 true_values / false_values...如果使用infer参数,则使用 gzip, bz2, zip或者解压文件名中以‘.gz’, ‘.bz2’, ‘.zip’, or ‘xz’这些为后缀的文件,否则不解压。...read_csv函数过程中常见的问题 有的IDE中利用Pandas的read_csv函数导入数据文件时,若文件路径或文件名包含中文,会报错。...注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe,表名用字符串表示,索引表位置用整数表示; header 指定作为列名的行,默认0,即取第一行
SKU来构成,同时商品还有对应的品牌信息、商品分类信息等,这些信息都有可能有对应的关联关系 此时,如果用户通过这个电商系统去查找商品,服务器就要根据用户的查找内容去构建对应检索数据的语句,这条语句往往是多表查询的...,模糊查询的操作,十分耗费系统资源,更何况是在一些并发情况下,系统的性能就很低了,流程可见下图: 此外,数据库处理分词操作较为吃力,比如检索词为“白色”、“苹果手机”这些词汇,MySQL会将这些词汇与对应检索的数据库表的属性进行匹对得出结果集...官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。...ElasticSearch 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用 从学习使用角度上看:ElasticSearch 的许多概念与数据库一一对应,如Index(索引)在名词角度相对于...MySQL与ElasticSearch的实际应用 首先,要确定目前生产环境中DataBase中有什么表以及表内的什么数据需要放到ElasticSearch索引中,需要进行分析,分析后根据需求建立索引:
领取专属 10元无门槛券
手把手带您无忧上云