首页
学习
活动
专区
圈层
工具
发布

为了拒绝做重复的事情,我用python写了个自动化脚本,让它按名称自动创建工作表

我是锋小刀! 在上一期视频中,我们讲解了excel如何按指定名称快速创建工作表,没有看的可以看一下:excel按指定名称快速创建工作表。...而python其实也是可以做到的,而且很简单,只需要几行代码即可。而python代码是可以重复利用,能节省很多时间,做到解放双手,拒绝做重复的事情。...xlwt库是python的第三方库,需要安装,安装命令: pip install xlwt 实战代码 这里我创建了一个名为"名称"的文件,里面一共有996条数据。 ? 先导入xlwt库。...import xlwt 创建一个excel工作簿. book = xlwt.Workbook(encoding='utf-8') 打开准备好的名为"名称"文件,并循环取出里面的数据。...批量操作文件,解放双手,拒绝做重复的事情,让一些重复的事情不再重复! THE END

1.2K30

三十分钟学会AWK

$ awk '/a/' marks.txt 打印匹配模式的列 当模式匹配成功时,默认情况下AWK会打印该行,但是也可以让它只打印指定的字段。...format [, timestamp[, utc-flag]]]) 字节操作函数 and compl lshift rshift or xor 其它 close(expr) 关闭管道文件 请看下面这段代码...让我来解释一下 第一个语句cmd = "tr [a-z] [A-Z]"是我们在AWK中要用来建立双向连接的命令。 第二个语句print提供了tr命令的输入,使用 &| 表名建立双向连接。...但是,如果协同进程没有刷新其标准输出的话,gawk将可能会在使用getline函数从协同进程读取输出的时候挂起,这就可能引起死锁。...在使用系统命令sort的时候是这样做是非常必要的,因为它必须等所有输出都读取完毕时才能进行排序。

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

    快收藏! 30 分钟包你学会 AWK

    打印所有的行 默认情况下,AWK会打印出所有匹配模式的行 ? 打印匹配模式的列 当模式匹配成功时,默认情况下AWK会打印该行,但是也可以让它只打印指定的字段。...更多关于正则表达式请看后面的正则表达式部分 正则表达式 AWK在处理正则表达式方面是非常强大的,使用简单的正则表达式可以处理非常复杂的问题。 ? ?...但是,如果协同进程没有刷新其标准输出的话,gawk将可能会在使用getline函数从协同进程读取输出的时候挂起,这就可能引起死锁。...在使用系统命令sort的时候是这样做是非常必要的,因为它必须等所有输出都读取完毕时才能进行排序。 ?...第三行用于在上面的语句close(cmd, “to”),在执行完成后关闭其to进程 第四行 cmd |& getline out使用getline函数存储输出到变量out中 最后一行使用close函数关闭命令

    1.4K30

    快收藏! 30 分钟包你学会 AWK

    87 4) Kedar English 85 5) Hari History 89 下面的例子中我们将会显示文件内容,并且添加每一列的标题 上述代码执行后,输出以下内容 在程序的开始...打印所有的行 默认情况下,AWK会打印出所有匹配模式的行 打印匹配模式的列 当模式匹配成功时,默认情况下AWK会打印该行,但是也可以让它只打印指定的字段。...更多关于正则表达式请看后面的正则表达式部分 正则表达式 AWK在处理正则表达式方面是非常强大的,使用简单的正则表达式可以处理非常复杂的问题。...但是,如果协同进程没有刷新其标准输出的话,gawk将可能会在使用getline函数从协同进程读取输出的时候挂起,这就可能引起死锁。...在使用系统命令sort的时候是这样做是非常必要的,因为它必须等所有输出都读取完毕时才能进行排序。

    1.4K70

    程序猿修养 使用 NuGet 发射卫星只需要三步

    有很多功能,其实只需要知道用哪个库和如何用,底层细节可以在完全不知道不了解的情况下也能用起来 回到上篇博客最后的问题,我想要写一个软件,用来发射卫星,请问需要几步?...其实我大部分时间写出来的逻辑都没有从 NuGet 上使用其他小伙伴做的库的方法来的稳当 按照中国的教科书,在学习一个东西之前都需要吹半天,而现在吹的部分也差不多了,下面就是实战啦 当然,我不会告诉大家如何发射卫星...请让咱来个简单一点的东西,在开始之前需要了解什么是 NuGet 工具。其实 NuGet 就是一个用来存放库的东西,这里的 库 指的是小伙伴编写上传的封装好的东西。可以引用库来做很多有趣的事情。...其实我比较推荐后面一个方法 在安装完成了 dotnet 工具之后,可以方便使用 NuGet 在本地的一个项目里面安装神奇的库,我想要读取一个PPT文件里面的所有页面的所有文本将这些文本输出,此时我可以如何做...换句话就是有很多小伙伴帮你踩坑了,基本上可以放心使用 我是一个助人为乐的逗比,我想要将自己写的代码打包为库让更多的小伙伴能用上我的逗比代码,我可以怎么做?

    59720

    【转】使用awk的坑

    由于写过c++代码,里面也有类似关联数组的数据结构,我很快猜测并实验证明原因:v_amt_a = v_user_map[$1]; 这一句。...4 内存限制问题 如果awk是32位程序(可以使用file命令判断),那么上面的脚本1,很可能跑着跑着就core了。因为默认情况下,32位的awk最多只能消耗256M内存。...曾经我以为getline读到文件尾会把$0置空,后来实践发现实际不是这样的。geline在碰上文件尾时会返回0,但$0还是保持最后一行的记录不变。于是就改成这种写法。...因此,在awk中要使用单引号是比较麻烦的事情。...如果文件里面没有中文,这样做是没问题的。 但如果有中文,特别是gbk编码在中文时,这样做就容易出问题了。

    2.1K30

    Roslyn 让编译时候 Message 内容默认输出

    然后某个小伙伴就过来打我,因为他一编译整个项目原本是没有警告的,现在有很多警告。...于是我就在找是否有方法可以做到让消息的内容默认输出 在编译的时候需要期望输出所有的消息,可以添加输出的日志等级,详细请看How to output the target message in dotnet...build command line 但是我的小伙伴是在 VisualStudio 编译的,他不期望输出的内容太多,而我又期望给他一点输出,特别是注明他现在使用的这个库是基于 GLWTPL 协议做的...当我写下这段代码的时候,只有上帝和我知道这是什么 现在只有上帝知道 也就是现在代码除了上帝没有知道是做什么 如果我写成 Message 默认小伙伴是不会看到,但如果我写成 Warning 他又会打我,...="High" Text="林德熙是逗比" /> 上面代码如果写在了 NuGet 库,可以在小伙伴安装我的库的时候编译就输出消息内容

    25310

    用 C++ 和 Java 写算法,有差别吗?

    或者 “C++ 很强大,Java 也很优秀,我选 Python”。 所以在本文里,我非常详细的讲述了用 Java 或 C++ 写算法时候的优劣势,你可以参考一下来判断自己喜欢用哪种语言写算法。...PS: 下文中,上面的代码是 C++ 的实现方式,下面的是 Java 的实现方式。 C++ 语法使用的是 C++11之后的版本,Java 使用的是 Java6 之后的版本。...Java 没有指针,对象的传递和返回都是用的引用的方式,并且不需要像 C++ 那样用 “&” 做特殊的语法标记。...大多数介绍 Java 的书籍开篇就是类和抽象,然后才是基本的语法,这和 Java 上等人的气质是一致的,连这都不会,咋做程序员?C++ 应该多提升一下气质,少用点指针和全局函数。...结束符默认是 '\n',实际上是 getline() 函数有三个参数,第三个参数可指定结束符: ? Java 也有与之对应的 Buffer IO 方式,请看: ?

    3K10

    写算法,用 C++ 还是用 Java ,差别大吗?

    大家好,我是为人造的智能操碎了心的智能禅师。 今天带来的文章,是 GitChat 签约作者王晓华在不断被读者吐槽:“好好一本算法书为什么要用 C++ 来写” 时,万般无奈下憋出来的。...两种语言的对比会放在一起展示,如不做特殊说明,上面的代码是 C++ 的实现方式,下面的是 Java 的实现方式。...Java 没有指针,对象的传递和返回都是用的引用的方式,并且不需要像 C++ 那样用 “&” 做特殊的语法标记。...大多数介绍 Java 的书籍开篇就是类和抽象,然后才是基本的语法,这和 Java 上等人的气质是一致的,连这都不会,咋做程序员?C++ 应该多提升一下气质,少用点指针和全局函数。...结束符默认是 '\n',实际上是 getline() 函数有三个参数,第三个参数可指定结束符: ? Java 也有与之对应的 Buffer IO 方式,请看: ?

    3.2K20

    getline函数(精华版)

    在我的印象中,getline函数经常出现在自己的视野里,模糊地记得它经常用来读取字符串 。...但是又对它的参数不是很了解,今天又用到了getline函数,现在来细细地总结一下: 首先要明白设计getline函数的目的,其实很简单,就是从流中读取字符串。...一样: a b c d e f g h i j k k k k k 这说明第九次getline之后,get指针所指向的位置并没有改变,这说明我想的思路有问题 ,于是我在网上看了getline函数的源码...,它关系到下面的if是否执行,也就是是否读输入流。...所得到的字符串是否为 空就ok了~ 再补充一下,由于getline函数将istream参数作为返回值,和输入操作符一样也把它作为判断条件。

    1.8K40

    Mobius 一个运行在 .NET Core 上的 .NET 运行时

    C++ 无关 原文:Mobius – .NET runtime running on .NET Core – TooSlowException 我看到这个有趣的项目的时候就想试试安利一下大家,这个项目特别适合用来了解...作者kkokosa决定开始试试水,这就是做 Mobius 运行时想法的原因。这个想法听起来很奇怪,连作者都不抱期望在一个世纪内将这个想法投入使用。...作者非常同意这个观点,这就是为什么作者其实是将这个项目当成一个玩具和实验的项目 先抛开是否有必要做这样的事情,请让咱想想这个项目可以如何做 基本设计原理 首先,要理解的最重要的事情是 Mobius 仍然会将咱的应用程序编译为本地...虽然上面的方法请看起来不错,但依然存在两个问题: 这大大减少了 Mobius 框架需要研究的功能。...,同时只有 GC 的存根 在下一篇系列文章中,作者将介绍Mobius实现最底层部分的更多细节和代码片段 逗比注: 如果本文看的不错,想要参与开发,我觉得在这之前需要先读一下农夫的书,请看 《.NET 底层入门

    90010

    Mobius 一个运行在 .NET Core 上的 .NET 运行时

    C++ 无关 原文:Mobius – .NET runtime running on .NET Core – TooSlowException 我看到这个有趣的项目的时候就想试试安利一下大家,这个项目特别适合用来了解...作者kkokosa决定开始试试水,这就是做 Mobius 运行时想法的原因。这个想法听起来很奇怪,连作者都不抱期望在一个世纪内将这个想法投入使用。...作者非常同意这个观点,这就是为什么作者其实是将这个项目当成一个玩具和实验的项目 先抛开是否有必要做这样的事情,请让咱想想这个项目可以如何做 基本设计原理 首先,要理解的最重要的事情是 Mobius 仍然会将咱的应用程序编译为本地...虽然上面的方法请看起来不错,但依然存在两个问题: 这大大减少了 Mobius 框架需要研究的功能。...,同时只有 GC 的存根 在下一篇系列文章中,作者将介绍Mobius实现最底层部分的更多细节和代码片段 逗比注: 如果本文看的不错,想要参与开发,我觉得在这之前需要先读一下农夫的书,请看 《.NET 底层入门

    54720

    Kotlin版图解Functor、Applicative与Monad

    那么扩展一下,我们说任何值都可以放到一个上下文中。 现在你可以把上下文想象为一个可以在其中装进值的盒子: ? 现在,将一个函数应用到这个值上时,会根据上下文的不同而得到不同的结果。...“大人物可以使用具有任意数量参数的函数,”它说。 “装备了 ($) 与 (*) 之后,我可以接受具有任意个数未包装值参数的任意函数。 然后我传给它所有已包装的值,而我会得到一个已包装的值出来!...liftA2(m1: Maybe, m2: Maybe) = {y: T -> {x: T -> this(x, y)}} `($)` m1 `(*)` m2 并使用 liftA2 做同样事情...getLine 没有参数并会获取用户输入: ? fun getLine(): IO = IO(readLine() ?...其中包含很多我已经炫耀过的东西,因为 Miran 深入这些方面做的非常棒。

    1.9K20

    平庸开发者的生存指南

    最简单的事情——只要google一下 我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。 所以,我必须使用google搜索。我每天都这样做。...但请记住,注释应该描述的是代码本身 如何从头开始保持简单明了: 对变量、函数和类使用正确的名称 确保程序的每个部分只做一件事 纯函数优于正则函数 正则函数优于类 仅在强烈需求的情况下使用类 不自信的我...请看图中的这位女士:阿波罗登月计划的首席软件工程师Margaret Hamilton。那几乎有她人那么高的是什么呢?好吧,那正是她为登月任务编写的代码: 但是,每当我编写任何代码时——我都不自信。...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。

    58810

    我只是一名平庸的开发者

    最简单的事情——只要google一下 我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。 所以,我必须使用google搜索。我每天都这样做。...但请记住,注释应该描述的是代码本身 如何从头开始保持简单明了: 对变量、函数和类使用正确的名称 确保程序的每个部分只做一件事 纯函数优于正则函数 正则函数优于类 仅在强烈需求的情况下使用类 不自信的我...请看图中的这位女士:阿波罗登月计划的首席软件工程师Margaret Hamilton。那几乎有她人那么高的是什么呢?好吧,那正是她为登月任务编写的代码: ? 但是,每当我编写任何代码时——我都不自信。...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。

    1K100

    理解std::move和std::forward

    为了阻止这种事情的发生,我们用到了type trait(请看Item 9),在T上面应用std::remove_reference,它的效果就是“去除”T身上的引用,因此保证了"&&"应用到了一个非引用的类型上面...代码跟你想象中的完美情况唯一不同的一点是,它没有对text执行move到value,而是拷贝了text的值到value.text确实被std::move转化成了rvalue,但是text被声明为const...std::forward是一个有条件的转化。为了理解它何时转化何时不转化,我们来回想一下std::forward的典型的使用场景。...为了让以上代码的行为表现正确,我们需要一个机制,param转化为rvalue当且仅当:传递给logAndProcess的用来初始化param的参数必须是一个rvalue.这正是std::forward做的事情...当然,可以说这两个函数都不是必须的,因为我们可以在任何地方都直接写cast代码,但是我希望我们在此达成共识:这样做很恶心。 std::move的魅力在于:方便,减少了错误的概率,而且更加简洁。

    2.2K21

    如何编写没有bug的代码?

    多数小伙伴 也不是天才玩家 今天的文章 是一位年薪百万大佬所写 指导大家伙该如何 在行业中生存下去 01 最简单的事情——只要Google一下 我记不了很多东西。...它甚至可以作为是你的秘密武器。我有一些建议可用于减少其负面影响。...但请记住,注释应该描述的是代码本身 如何从头开始保持简单明了: 对变量、函数和类使用正确的名称 确保程序的每个部分只做一件事 纯函数优于正则函数 正则函数优于类 仅在强烈需求的情况下使用类 03 不自信的我...docker允许你在相同的隔离环境中运行开发、测试和生产。所以,你永远不会错过任何重要的事情。 ? 那么你会怎么做?说说我自己,我在创建服务器、初始配置或连接的时候总是会忘记一些事情。...如果我们想编写出好的软件,那么我们需要不断地学习怎么做。没有捷径也没有魔法。每天进步一点点,就会越来越好。 总之,我们需要理解两件基本的事情: 每个人都会遇到问题。

    1.2K10
    领券