首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于Excel操作-合并文件操作

最近有点忙有点烦,天天忙于数据治理,说是数据治理,整天就是忙于整理和下发各种表格,从开始下发到各地区表格合并进来,再到入库,再到比对,再到分离下发,再到按字段拆分,从xlrd,lxlwr,openpyxl...,pandas,再到cx_Oracle,再到fuzzywuzzy,gensim等等,从最初流水版本进化到封装成类,挺繁琐,不过也挺好玩。...整个文件资源目录结构如下 要做事情就是把各子文件夹下文件名为《文件类型一》、《文件类型二》、《文件类型三》全合并成一个个大文件,sheet名都是Sheet0,还是有章可循。...if os.path.isfile(fullpath): continue allfiles=os.listdir(fullpath) # 获取各单位文件夹下文件...format(destfilename)) 代码还是有很多简化和优化空间

46710
您找到你想要的搜索结果了吗?
是的
没有找到

操作系统多级与快--12

操作系统多级与快--12 为了提高内存空间利用率,应该小,但是小了就大了... 会很大,放置就成了问题......第一种尝试,只存放用到 第二种尝试:多级,即目录(章)+(节) 多级提高了空间效率,但在时间上? TLB得以发挥作用原因 为什么TLB条目数可以在64-1024之间?...---- 为了提高内存空间利用率,应该小,但是小了就大了… 对于32操作系统来说,用于寻址位数是32位,那么最多可以表示232次方大小地址,也就是4G。 4G大小能够存放多少呢 ?...---- 会很大,放置就成了问题… 页面尺寸通常为4K,而地址是32位,所以32地址能够表示220次方个页面。...为了保证表项连续,并且还要减少对内存浪费,就必须采用多级形式,但是多级时间上不足,应该由什么来弥补呢?

1.8K50

Linux从头学16:操作系统-如何把【目录和】当做普通物理进行操作

目录 问题描述 CPU接收是线性地址,不是物理地址 对目录进行"自操作" 一级查表:构造线性地址前十位 二级查表:构造线性地址中间十位 三级查表:构造线性地址最后十二位 三个地址段合体...现在我们问题是:需要把目录作为最终操作对象。 也就是说,从中找到“普通物理地址,应该等于目录物理地址! 作为一名软件开发人员,递归思想都是有的。...二级查表:构造线性地址中间 10 位,来确定“普通物理地址 二级查表:查找对象是,也就是一级查表得到那个“”。...对进行寻址 既然已经弄明白了操作系统是如何操作目录,那么对操作就不是什么大问题了。...二级查表 利用这个最后一个表项(index = 1023),预先填写一个地址(0x08000),让它指向这个自己开始物理地址。

1.5K20

关于Excel操作-写入数据库操作

Excel要写入数据库,毕竟通过pandas来操作复杂数据还是很有难度,有多少种数据库,就有多少种数据库引擎,要下载多少python数据库包,同样对Excel写入数据库操作,可以基于excel按行写入...基于openpyxl写入数据操作包括,以下几步 1、基于名构造一个绑定变量SQL 2、读取excel,转换为list 3、逐行写入,最后提交 踩坑如下: cx_Oracle.DatabaseError...: DPI-1043:invalid number一般是excel表出现空值 还有就是一些生僻汉字写入数据库时候,报汉字编码错误,没找到合适解决办法。...: DPI-1043:invalid number 问题 pddata = pd.read_excel(filename, header=0, engine="openpyxl").fillna...datalist: c.execute(sql,tuple(data)) conn.commit() c.close() 基于pandas写入数据库,一定要使用sqlalchemy,操作比较简单

1.3K20

关于for循环里面异步操作问题

首先来看一个比较简单问题,我们想实现就是每隔1s输出0-4值,就是这么简单,看下错误写法: function test() { for (var i = 0; i < 5; ++i) {...输出如下: index is : 5 index is : 5 index is : 5 index is : 5 index is : 5 而且该操作几乎是在同一时间完成,setTimeout定时根本就没有起作用...,这是因为:单线程js在操作时,对于这种异步操作,会先进行一次“保存”,等到整个for循环执行结束后,此时i值已经变成5,因为setTimeout是写在for循环中,相当于存在5次定时调用,这5次调用均是在...可以理解为一个封闭代码块,该代码块中代码会在定义时立即执行一遍,各个代码块作用域彼此独立,不会污染外部环境,写法其实有很多种,上面只是一种,同样还有使用void、+、-、!...等等,jquery源码就是直接使用这里圆括号写法这种。

1.2K00

多级好处

,如果只使用了一个,一个表项大小为4byte,32位系统有4GB物理空间(一个进程看到是4GB大小虚拟空间),每一个表项对应着物理空间第xxx(4KB大小),那么应该有4GB/4KB=...如果是二级,规则就会改变,让二级对应到物理内存上4KB大小,一级此时变成映射为物理地址4MB(这样子是无法定位到具体(4KB),所以二级再去找),这样先找到一级,一级再和二级进行结合...,二级表相当于一级4MB分成了1024个(1KB个)4KB,找完后二级充当了offset角色,此时定位到具体4KB页面,再用一级offset一结合定位到具体物理地址。...这样一个进程浪费掉空间是一级占用:(4GB/4MB)*4byte=4KB,二级浪费掉是1kb(1个一级占用这么多)*1kb(此时有1kb(4GB/4MB)个一级)=4MB,加起来是...4MB+4KB,比光用一级要多4KB,但是2级是可以不存在,比如此时程序只用了%20,那么4MB就需要乘以%20,这样一下子就比只有一级时少了。

1.6K30

写一个操作系统_07 设计自己

设计自己 只针对32位操作系统,设计一个二级,目的是构建一个简易能跑起来操作系统。...对于4G地址空间,每个大小是4K,模仿Linux早期做法,32位地址前10位为目录项,中间10位为,后面10位为偏移量。...1M地方,即 0x100000,目录项占 1K * 4B = 4K,那么在 0x101000地方。...,我们内核用了这个地方,方便操作 最后一个目录项指向目录自己地址,为了后面进程操作方便 setup_page: ;先把目录占用空间逐字节清0 mov ecx, 4096 mov...; 下面将目录项0和0xc00都存为第一个地址, ; 一个可表示4MB内存,这样0xc03fffff以下地址 ; 和0x003fffff以下地址都指向相同, ; 这是为将地址映射为内核地址做准备

71420

关于Excel操作-通过Fuzzywuzzy实现模糊匹配

Levenshtein Distance算法,又叫 Edit Distance算法,是指两个字符串之间,由一个转成另一个所需最少编辑操作次数。...许可编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串相似度越大。...import pandas as pd import jieba import fuzzywuzzy from fuzzywuzzy import process import datetime # 定义数据...endtime - starttime print('3、匹配名称和阈值=',duringtime.seconds,'秒 开始时间=',starttime,'结束时间=',endtime) # 新建一个目标,...Fuzzywuzzy适用于小数据集比对,几百条vs几百条,当数据量上升到上千时候,速度无法接受,基本上一秒钟可比对上千条记录。 后文会介绍一个更快更准确模糊匹配工具。

74110

关于Excel操作-通过gensim实现模糊匹配

gensim一些常见概念: 语料Corpus: 一组原始文本集合,用于无监督地训练文本主题隐层结构,语料中不需要人工标注附加信息。...向量Vector: 由一组文本特征构成列表,是一段文本在Gensim中内容部表达。...稀疏向量SparseVector: 通常 我们可以略去向量中多余0元素,此时向量中每一个元素是一个(key,value)tuple....模型Model: 是一个抽象术语,定义了两个向量空间变换(即从文本一种向量表达变换为另一种向量表达) 下面为相关代码,代码结构和前面的Fuzzywuzzy是类似的,不过执行起来,效率是前者几十倍上百倍...关于本文步骤: 1、读取Excel表格 2、进行jieba分词 3、构建语料字典 4、通过doc2bow转换为稀疏向量 5、构建TfidfModel模型,进行训练 6、实现相似度查找 from gensim

1K10

内核知识第八讲,PDE,PTE,目录,内存管理

但是我们三环是不可以操作.这个属于特权指令.如果用汇编进行操作.例如: __asm mov cr0,8000000 程序会崩溃,提示你权限不够,并且报告错误码为 C096 但是我们0环可以进行操作...刚才我们说高位为1是否就去掉分页保护,此时访问虚拟内存 等价于访问物理内存,其实我们修改是PG位 关于位怎么说,inter手册也说.这里我总结一下重要,如果不相信我可以查看inter手册....当我们线性地址转化为物理地址是否,会进行查表. 进而查询到物理地址是那个. 微软采用是这种方式.  线性地址转物理地址需要注意问题. 这个问题则是映射....我们说过,操作系统为了隔离内存.采用了分页管理.而我们线性地址转化到物理地址时候. 则需要查表. 那么我们觉着这个应该怎么做?...首先我们CR3寄存器保存了首地址. 这里有一个目录,还有关键词. 目录: 也称为PDE,而称之为PTE.

1.5K10

关于二级域名(泛二级域名)实现

id=242 3.参考上面的网址介绍,通过dns服务器和url Re_write 组件方法我均未能实现二级域名跳转,原因不明. 4,利用iis和程序来实现二级域名(泛二级域名)跳转 1)配置一个主机头留空虚拟站点...strURL1= Lcase(iURL(0)) strURL2= Lcase(iURL(1)) arrcount=UBound(iURL) ””假定其中一个网站域名为www.domainname1...username=”&strURL1) End If %>每个网站可以根据自己内部网站程序不同来撰写不同url跳转.对整个主机来说,只要存在泛域名访问就会先访问这个default.asp文件...这样就是实现了一个文件来管理整个iis网站泛域名跳转.5.如果要实现 www.domainname.com/username1 跳转到 www.domainname.com/blog/index.asp...username=username1 方式,则需要通过使用 ISAPI_Rewrite URL处理引擎,具体方式参考该组件介绍.6.如果是asp.net程序话,可以参考http://www.microsoft.com

20.5K100

关于Firefox中链接点击弹出空白标签问题分析

这行简单代码在chrome里没有问题,不过在 firefox 中如果点击这个标签就会立刻弹出一个 about:blank 空白标签,非常不友好。...解决 这个问题解决起来其实也很简单,原因就在于不知道为什么当时手贱顺手加了个 target="_blank" ,在大多数浏览器会在看到 javascript:void(0);之后阻止了创建页面的操作,但是...firefox却优先考虑创建标签,这才造成了这个问题。...但是从逻辑上讲,a标签语义就是链接跳转,我们这种操作其实是违背了a标签设计初衷,因此 mozilla 官方并不推荐我们这样做。...相比之下,button 语义才是确认用户意图,这个跟标签语义相当,所以他才会推荐我们在做标签时候使用button标签。

1.4K20

关于MySQL库名大小写问题

因此,操作系统大小写是否敏感决定了数据库大小写是否敏感,而 Windows 系统是对大小写不敏感,Linux 系统对大小写敏感。...默认情况下,库名在 Windows 系统下是不区分大小写,而在 Linux 系统下是区分大小写。列名,索引名,存储过程、函数及事件名称在任何操作系统下都不区分大小写,列别名也不区分大小写。...你有没有考虑过 lower_case_table_names 设为 0 会出现哪些可能问题,比如说:一位同事创建了 Test ,另一位同事在写程序调用时写成了 test ,则会报错不存在,更甚者可能会出现...也可以将 lower_case_table_names 设为 1 来解决此问题,我们来看下此参数为 1 时情况: # 将上述测试库删除 并将 lower_case_table_names 改为 1 然后重启数据库...若存在大写,则需要先将大写转化为小写,然后才可以修改配置文件重启。

7.1K32

Online-DDL操作问题初探

Online-DDL操作问题初探 今天下午在执行一个结构变更时候,出现了一个问题,拿着分析了分析,对于online-ddl又有了新认识,这里写篇文章记录下。...需要进行操作:给该新增4个字段 02 执行方案 看到这个问题,我进行了两个测试: 首先将该进行备份,并且在测试环境上恢复了一份,不加任何写入操作,直接在测试环境上执行alter table...操作,执行时间是16.6s,这个时间从业务角度讲,是有问题; 然后又重新模拟线上写入操作,重新执行该alter操作,在执行时候出现下面的问题: ERROR 1062 (23000): Duplicate...03 关于online-ddl一点说明 MySQLonline ddl操作是在5.6版本引入,在不同版本下,有不同执行过程: 1、在MySQL5.5版本前,我们是使用copy方式来进行alter...table操作,需要借助一个临时将全部数据拷贝,然后进行rename操作,这个过程中,是需要锁,原只能读不能写。

1.6K50

高级操作:倾斜&事务

高级操作:倾斜&事务 Hive倾斜(Skewed Tables) 什么是倾斜? 对于一列或多列中出现倾斜值,可以创建倾斜(Skewed Tables)来提升性能。...但如果A是Skewed Tables,A.id=1被设置为倾斜值,那么在执行A与BJoin操作时,会自动进行以下优化: 将B中id=1数据加载到内存哈希中,分发到A所有Mapper任务中...如果你当前版本,存在一些支持上问题,那么对于以下代码不需要去执行,只做了解即可。...但事务功能仅支持ORC,而且事务功能依赖分桶存储格式,所以事务必须进行分桶操作。 Hive开启事务配置 默认情况下事务是非开启状态。...对于事务,可以查看所有正在进行事务操作: SHOW TRANSACTIONS; 事务压缩 随着对事务操作累积,delta文件会越来越多,事务读取会遍历合并所有文件,过多文件数会影响效率

83320

MySQL操作

#前言:我们说过,库相当于一个文件夹,表相当于文件夹里一个个文件,表里面的一条记录相当于一行内容,一条记录有对应标题,称为字段 #直观 ?...#id,name,sex,age为字段,其余一行内容称为一条记录 1.建 #创建表语法格式 Create table ( , …..... ); #提示:   1.其中create table是关键字,不能更改,但是大小写可以变化   2.字段名和类型是必须   3.同张中,字段名不能相同 #查看帮助:help...:   create table 表示创建固定关键字,student为名,有四个字段,分别表示   id:学号列, int:数字类型, 4:长度为4, not null:不为空值...#语法格式:drop table #例子:删除db库里面的student mysql> use db; Database changed mysql> show tables; #查看库中

4.7K40

关于null操作

:     NVL 函数        格式:NVL(表达式1,表达式2)        作用:测试表达式值,如果表达式1为空,则返回表达式2值;不为空,返回表达式1值。     ...NVL2   函数        格式:NVL2(表达式1,表达式2,表达式3)        作用:测试表达式值,表达式1不为空,返回表达式2值,如果为空,则返回表达式3值。     ...2、nvl2函数        格式:NVL2(表达式1,表达式2,表达式3)        作用:测试表达式值,表达式1不为空,返回表达式2值,如果表达式1不为空,则返回表达式3值。...:运算规则一致当TO_ChAR(age)不为空(true)时,执行2*(age+sex),否则就执行后面的表达式age 注意:NULL和任何数进行算数操作,其返回值都是NULL。...3、NULLIF函数   格式:NULLIF(表达式1,表达式2)   作用:当表达式1值等于表达式2值,返回空.如果表达式1值不等于表达式2值,返回表达式1值 这个函数相当于CASE  WHEN

73370
领券