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

VBA专题12:详解GetAttr函数

如果你读取文件内容后再将内容写回文件,那么知道原始文件是否为只读是重要的,在这种情况下,你的写入将失败,或者如果它是系统文件,在这种情况下写入也可能会失败,但是如果成功,可能会损坏系统。...注意,由于它是一个函数,因此输出一个值;它不是文件对象的属性,不能写入GetAttr来更改文件的属性。同样,也不能使用此函数将文件设为只读或隐藏文件。...表中的第一列是VBA中的名称,相对于第二列中的值更易理解。在VBA程序中,可以将 vbXX名称与数字值互换使用。 输出 GetAttr函数输出的究竟是什么呢?...当我们查看2的位串表示时,我们得到10,其前导零可以无限添加,因此10 =00000010 = 0010,重要的部分是末尾跟随的零(和1)。...同时,VBA的GetAttr函数是一个函数,而不是文件属性,因此不能使用它来更改文件属性,只能使用它来确定存在哪些文件属性。 可以使用按位AND运算符确定是否存在特定属性。

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

    Pandas数据聚合:groupby与agg

    它可以接受多种类型的参数,如字符串表示的函数名、自定义函数、字典等。通过agg,我们可以一次性对多个列应用不同的聚合函数,极大地提高了数据处理的灵活性和效率。...此时可以考虑使用更高效的替代方案,如pivot_table或crosstab。 常见报错及解决方案 KeyError: 如果指定的分组键不存在于DataFrame中,会抛出此异常。...) 多列聚合 基本用法 多列聚合是指同时对多个列进行分组和聚合计算。...通常按照从高到低的重要性依次列出列名。 不同类型组合:当涉及不同数据类型的列一起聚合时(如数字与日期),应确保逻辑上的合理性。 性能考虑:随着参与聚合的列数增加,计算量也会相应增大。...无论是简单的单列聚合还是复杂的多列联合聚合,掌握其中的技巧和注意事项都能让我们更加高效准确地处理数据。希望本文能够帮助读者解决在实际工作中遇到的相关问题,并提高工作效率。

    42710

    变量、简单数据类型、列表

    列表由一些列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员名字的列表;也可以将任何元素加入列表中,其中的元素可以没有任何关系。...列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可,要访问列表元素,可指出列表的名称,再指出列表的索引,并将其放在方括号内。...这种约定也适用于其他负数索引,例如,索引 -2返回倒数第二列表元素,索引-3返回倒数第三列元素,以此类推。修改列表元素:修改列表元素的语法与访问列表的语法类似。...要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。在列表中添加元素:1.在列表末尾添加元素在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。...明白如何有效地使用这些工具后,即使列表包含包含百万个元素。你编写的代码也能运行的很好。Pyrthon函数range( ) 让你能够轻松地生成一系列数字。

    1.6K20

    左手用R右手Python系列10——统计描述与列联分析

    pastecs::stat.desc(diamonds[myvars]) #可以计算所有值、空值、缺失值数量,最大值、最小值、值域即总和。 ?...除此之外,doBy包中的summaryBy函数和psych包中的describeBy函数也提供了更为个性化的描述性统计量输出。...列联表统计(针对类别型变量的) table() #简单的频数统计表(输出列联表矩阵,等同于count函数) xtabs() #公式法输入,输出列联表 prop.table...() #份数表示的列联表 margin.table() #添加边际和 addmargins() #将边际和放入表中 ftable() #创建紧凑型列联表 一维列联表: mytable...事实上,crosstab似乎同时也能兼容透视表的完整功能,但是奇怪的是透视表提供了数据框名称参数,指定参数时无需声明数据框名称,而且行列字段都可指定列表对象(二维以上,指定多个 字段),但是交叉表则没有给出数据框名称向量

    3.5K120

    Python数据分析笔记——Numpy、Pandas库

    (2)创建DataFrame: 最常用的一种方法是直接传入一个等长列表或numpy数组组成的字典: 结果DataFrame会自动加上索引(添加方法与Series一样),且全部列会被有序排列。...如果指定了列序列、索引,则DataFrame的列会按指定顺序及索引进行排列。 也可以设置DataFrame的index和columns的name属性,则这些信息也会被显示出来。...也可以按columns(行)进行重新索引,对于不存在的列名称,将被填充空值。 对于不存在的索引值带来的缺失值,也可以在重新索引时使用fill_value给缺失值填充指定值。...传入how=‘all’将只滤出全是缺失值的那一行。 要用这种方式滤出列,只需传入axis=1即可。...(列从0开始计数) 6、汇总和计算描述统计 就是针对数组进行常用的数学和统计运算。大部分都属于约简和汇总统计。 其中有求和(sum)运算、累计(cumsum)运算、平均值(mean)等运算。

    6.4K80

    手把手教你做一个“渣”数据师,用Python代替老情人Excel

    在Excel成为我的“初恋”十年之后,是时候找一个更好的“另一半”了,在这个技术日新月异的时代,更好更薄更轻更快处理数据的选择就在身边!...默认值为5,也可以自定义参数。 ? 2、查看特定列的数据 ? 3、查看所有列的名字 ? 4、查看信息 查看DataFrame的数据属性总结: ? 5、返回到DataFrame ?...Python提供了许多不同的方法来对DataFrame进行分割,我们将使用它们中的几个来了解它是如何工作的。...4、将总列添加到已存在的数据集 ? 5、特定列的总和,使用loc函数 ? 或者,我们可以用以下方法: ? 6、用drop函数删除行 ? 7、计算每列的总和 ?...以上,我们使用的方法包括: Sum_Total:计算列的总和 T_Sum:将系列输出转换为DataFrame并进行转置 Re-index:添加缺少的列 Row_Total:将T_Sum附加到现有的DataFrame

    8.4K30

    (六)Python:Pandas中的DataFrame

    ) # 第零行和第一行的第零列(第一个0可省略) print(frame.iloc[0:2]) # 少了第二个参数,就会输出所有列 print(frame.iloc[0:2, 1:3])...Name: pay, dtype: object 取得第零行和第一行的第零列 1    xiaoming 2    xiaohong Name: name, dtype: object 少了第二个参数...        添加列可直接赋值,例如给 aDF 中添加 tax 列的方法如下: import pandas as pd import numpy as np data = np.array([('...        添加行可用对象的标签(loc)和位置(iloc)索引,也可通过 append()方法或 concat()函数等进行处理,以 loc 为例,例如要给 aDF 添加一个新行,可用如下方法:...,在此不一一列举,有兴趣的同学可以自己去找一下 统计功能  DataFrame对象成员找最低工资和高工资人群信息          DataFrame有非常强大的统计功能,它有大量的函数可以使用,具体代码如下所示

    3.8K20

    吃透二分查找—— LeetCode 第 33、34、35 题记

    恰好第 35 题也是二分查找算法的应用,放到一起来记录。 首先看下二分查找算法的概念: ❝二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。...如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。...当目标不存在时,返回目标应该被插入的位置。这个我们先把特殊情况择出来:列表长度不到 2 的情况,目标值大小超出列表值范围情况。...这题要注意的点是,若存在目标值,返回其坐标;若不存在,要返回目标应该插入的位置。...与之前不同的点在于,找起点位置过程中,即使取到的中点值与目标值相等,我们仍然要取左侧部分继续分析,因为我们要找的目标值的起点;同理,找结束位置时,即使取到的中点值与目标相等,我们仍要取右侧部分继续分析。

    1.9K40

    MySQL的varchar水真的太深了——InnoDB记录存储结构

    关于记录的额外信息这部分,是服务器为了描述这条记录而不得不额外添加的一些信息,这些额外信息分为3类,分别是变长字段长度列表、NULL值列表和记录头信息。   ...所以即便提示16383个字符,你也绝对不可能存到16383。 我做了个测试 ? ? 不断往这个字段添加字符保存测试,最后发现,这些字符总长度到极限也就是48545字节。 ? 如果超过就会报错 ?   ...如果你和我一样开发规范中不推荐NULL,一般都写NOT NULL,其实记录中就不存在NULL值列表了,也节省了空间。   ...如果表中没有允许存储 NULL 的列,则 NULL值列表也不存在了,否则将每个允许存储NULL的列对应一个二进制位,二进制位按照列的顺序逆序排列。...——dynamic行格式的溢出列   如果某个列中存储的数据占用的字节数非常多,该列就可能称为溢出列。

    2.1K30

    解读 Optimizing Queries Using Materialized Views:A Practical, Scalable Solution

    PNE基于 中的列等价谓词也可以应用在 中,在 谓词和输出列中,部分列是可互换的。基于列等价类实现的列引用重新路由是视图改写的重要能力。...首先判断视图输出中是否包含完全相同的表达式,如果存在,则直接替换为视图列引用;如果不存在,则检查引用列是否能完全映射到视图的输出列。 3.1.5....例如从 向 添加一条边,存在外键约束,从表 的列 指向表 的列 ,对于每一列 找到对应的列等价类,并判断相应的外键列 是否属于同一个等价类,如果每个列都通过验证,则添加边...由于保存基数连接的特性,因此新增连接不会改变查询结果。 在实际操作中,仅通过更新查询的列等价类模拟添加额外表,首先为额外表 的每个列添加对应的平凡列等价类。...因此查询输出列可基于视图输出列获取。 输出列条件:视图的列等价类至少包含每个查询输出列等价类的任意一列。

    15742

    第四章4:使用列表

    我们后面将多次使用length函数,无论是检查一个空列表还是在range函数中使用它来角确定一个循环的次数。 列表切片 回顾前几周,我们讨论了一个字符的切片。...glove现在在零索引位置上,因为我们在insert方法中指定了在该索引位置上插入数值。 移除元素 从一个列表中移除元素有多种方式,接下来我主要介绍其中的两种方法。....pop() 默认情况下,pop方法会移除列表中最后一个元素,当然,你也可以指定索引去移除元素。这种方法也被广泛的用来存储被移除的元素。...另外要说明的一点是,我们之所以尝试使用try和except结构语句,是因为如果列表中不存在元素“soccer”,则可以防止该程序崩溃。...一旦用户输入一个词,就将这个词添加到列表中。一旦他们中止循环,则用for循环输出列表中的所有元素。

    5.6K30

    SQL必知必会总结3-第14到17章

    语句组成;语句之间通过UNION关键字隔开 UNION中的每个查询必须包含相同的列、表达式或者聚集函数 列数据类型必须兼容:类型不必完全相同 UNION从查询结果集中会自动消除重复的行;但是如果想保留所有的行...WHERE cust_name = 'Fun4ALL' ORDER BY cust_name, cust_contact; -- 组合之后再进行排序 插入数据 插入数据 INSERT用来将行插入(或者添加...如果值不存在,则用NULL代替。同时插入数据的顺序必须和表中定义的相同。...表也可以直接使用SQL语句来操控;通过create table来实现 CREATE TABLE Products -- 创建表 ( prod_id CHAR(10) NOT...每个表中的列要么是NULL列,要么是NOT NULL列。 主键是其值唯一标识表中每一行的列。只有不允许NULL值的列可作为主键,允许NULL值的列不能作为唯一标识。 笔记:NULL是默认设置。

    1.4K41

    线性表,双向链表,静态链表,循环链表(约瑟夫环)

    这样做的好处是增加了代码的可用性,也更加美观。...比如说,如果算法中需要大量地找某指定结点的前趋结点,使用单链表无疑是灾难性的,因为单链表更适合 "从前往后" 找,而 "从后往前" 找并不是它的强项。...在图 4 的基础上,向静态链表中添加元素 1 的过程如图 5 所示: 图 5 静态链表中添加元素 1 在图 5 的基础上,添加元素 2 的过程如图 6 所示: 图...约瑟夫环问题有多种变形,比如顺时针转改为逆时针等,虽然问题的细节有多种变数,但解决问题的中心思想是一样的,即使用循环链表。...:2 出列人的编号为:4 出列人的编号为:1 出列人的编号为:3 出列人的编号为:2 出列人的编号为:5 最后出列的人,即为胜利者。

    9210

    redis操作基本命令

    Redis—— Remote Dictionary Server,它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,我们可使用它构建高性能...当然,你也可以用telnet根据其纯文本协议来操作。 redis-benchmark Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能。...//如果 key 不存在,将会创建一个空的哈希表并执行HMSET操作,如果添加的域已存在哈希表中,那么它将被覆盖。...的元素的值设置为 value: redis>LSET key index value //列表 key 必须是已存在的,而且index不能超出列表长度范围 获取到指定位置的 value: redis>...集合的成员是唯一的,但评分可以重复。 有序集合可以以非常快的速度进行 访问、 添加、 删除 和 更新 元素。

    1.3K00

    视图索引

    创建索引视图 视图也称为虚拟表,这是因为由视图返回的结果集其一般格式与由列和行组成的表相似,并且,在 SQL 语句中引用视图的方式也与引用表的方式相同。...必须显式给出列名。 不能在多个视图列中指定用作简单表达式的表的列名。如果对列的所有(或只有一个例外)引用是复杂表达式的一部分或是函数的一个参数,则可多次引用该列。...视图不能包含 text、ntext 或 image 列,即使在 CREATE INDEX 语句中没有引用它们。...与基表上的聚集索引一样,聚集索引的 B 树结构仅包含键列,但数据行包含视图结果集中的所有列。 若想为现有系统中的视图添加索引,必须计划绑定任何想要放入索引的视图。...创建另一个视图,使其具有与现有视图相同的文本,但是名称不同。优化器将考虑新视图上的索引,即使在查询的 FROM 子句中没有直接引用它。

    1.2K30

    分布式隐私保护可审计的账本zkLedger

    除了直接公布敏感数据明文之外,承诺披露阶段所需的数据校验,也可以在不公布敏感数据明文的前提下,构造零知识证明来完成。...审计一个银行当前的资产?考虑查询被审计银行所在列中的值的总和。...Proof of Assets :一个新的承诺 ,对应的令牌 ,以及一个零知识证明,断言 是对 的值的重新承诺或对值总和 的重新承诺且 在 范围内。...然后,银行向审计员发送其列中值的总和,位承诺和相应的NIZK证明的向量,其非零交易的数量n以及承诺中 r 值的总和。 Verifification....审核员通过验证承诺是否正确完成来验证 步骤,并通过确认位承诺的矢量的乘积 来验证 步骤和非零交易数。 Compute answer.审核员根据银行列值的总和和非零交易数计算平均值。

    1.8K11

    程序员必须了解的数据结构:Array、HashMap 与 List

    让我们来定义一些本文用到的数组常用方法。 常用的 JS 数组内置函数 ? 1.2 向数组插入元素 将元素插入到数组有很多方式。你可以将新数据添加到数组末尾,也可以添加到数组开头。...HashMap 也和抽屉一样存储东西,通过不同标识来区分不同匣子。 ? 此例中,如果你要找一个玩具,你不需要依次打开第一个、第二个和第三个匣子来查看玩具是否在内。直接代开被标识为“玩具”的匣子即可。...removeFirst:删除链表的首个元素。 向链表末尾添加与删除一个元素 (对添加操作而言,)有两种情况。1)如果链表根节点不存在,那么将新节点设置为链表的根节点。...栈也可以通过链表来实现,对应方法的时间复杂度是一样的。 这就是栈的全部内容啦! ---- 5. Queues 队列是一种越先被添加的元素,越先被出列的数据结构。也就是先进先出(FIFO)。...output 被填充后,出列操作耗时再次变为恒定。因此分摊后是 O(1)。 也可以通过链表来实现队列,相关操作耗时也是恒定的。下一节将带来具体的实现。

    1.7K10
    领券