请教一下,python对办公应用OFFICE上相比VBA有什么优势
1312 47
[1 楼] 午夜半杯茶 [泡菜]
21-5-29 23:20
因为办公常用Word,EXCEL,当然大部分是轻应用,偶尔会碰到一些复杂的应用,目前都是慢慢的手动完成,想看看学这些能不能减轻工作量,编程纯属外行,学那个能够用,还是没必要学。 本帖最后由 午夜半杯茶 于 2021-5-29 23:21 编辑
[48 楼] yejun [老坛泡菜]
21-6-3 16:17
fishu 发表于 2021-6-3 13:28
这些肯定不会在excel里保存。这些数据在数据库里整合完,提取出来在excel里进行可视化倒是可以的。
Python+matplotlib也可以可视化,不过比较适合固定套路,批量出图一般用matplotlib;
在一堆数据里找相关性或者看趋势图,excel更方便灵活,前提上数据量不能太大。


找相关性用seaborn画图也不错。
[47 楼] fishu [资深泡菜]
21-6-3 13:28
tianman 发表于 2021-6-3 13:07
按说呢,这类数据不会放在Excel中间的吧?放在数据库里面直接处理岂不更方便?


这些肯定不会在excel里保存。这些数据在数据库里整合完,提取出来在excel里进行可视化倒是可以的。
Python+matplotlib也可以可视化,不过比较适合固定套路,批量出图一般用matplotlib;
在一堆数据里找相关性或者看趋势图,excel更方便灵活,前提上数据量不能太大。
[46 楼] tianman [泡菜]
21-6-3 13:07
fishu 发表于 2021-6-3 07:54
百GB文本的场景很多啊,展示不方便,口述一个场景吧,信不信由您。
网络侧信令数据的采集,只采集部分层3消息,部分网络节点,网络忙时,ASN.1码流转换成文本流,再通过python摘选“感兴趣”的内容放入数据库,所以也就几十张表,每张表上千万行吧。再多数据不是不能做,不过我要考虑我的硬盘开销,也要考虑后续数据分析的效率。
我不是专职搞开发的,只是对网络的某些问题展开做数据分析,找原因找思路而已。

按说呢,这类数据不会放在Excel中间的吧?放在数据库里面直接处理岂不更方便?
[45 楼] 大信 [泡菜]
21-6-3 10:06
午夜半杯茶 发表于 2021-6-2 15:54
其实我的工作VBA就能应付了,不过看着Python 应用范围更广,能做更多的事,所以对这个更感兴趣,我们的工作文件,大的几百行还是有的,一千多行的一年遇到也就一两次,但是遇到了很麻烦,所以才动了心思,最大的文件也就几十MB。


可以试着了解一下Python,它的火不是没有道理的。
当然尺有所短寸有所长,有些领域有特定的工具。具体问题具体分析。
[44 楼] fishu [资深泡菜]
21-6-3 09:00
arondes 发表于 2021-6-3 08:52
这个场景可以用 flink


谢谢,我了解一下
[43 楼] arondes [陈年泡菜]
21-6-3 08:52
fishu 发表于 2021-6-3 07:54
百GB文本的场景很多啊,展示不方便,口述一个场景吧,信不信由您。
网络侧信令数据的采集,只采集部分层3消息,部分网络节点,网络忙时,ASN.1码流转换成文本流,再通过python摘选“感兴趣”的内容放入数据库,所以也就几十张表,每张表上千万行吧。再多数据不是不能做,不过我要考虑我的硬盘开销,也要考虑后续数据分析的效率。
我不是专职搞开发的,只是对网络的某些问题展开做数据分析,找原因找思路而已。


这个场景可以用 flink
[42 楼] fishu [资深泡菜]
21-6-3 08:05
yejun 发表于 2021-6-2 21:55
上百GB不用Spark吗。


我不是专职搞开发的,单位对我工作的支持也就是配发一部laptop。
对数据的处理仅仅是满足工作的需要,2010以前,VBA足够支撑我的工作需求;
2010之后,数据量级上来了,为了效率才转到Python。
只要Python能满足工作上的需求,就没啥动力去换工具或平台。
不过您说的Spark,将来有需要,我会考虑的。谢谢。
单位组织了一个工具开发部门,他们在鼓捣大数据平台,我看Spark也在其中。
[41 楼] fishu [资深泡菜]
21-6-3 07:54
开山鼻祖 发表于 2021-6-2 16:39
上百g文本?展示一下。数据库千万记录也就百兆级文件。


百GB文本的场景很多啊,展示不方便,口述一个场景吧,信不信由您。
网络侧信令数据的采集,只采集部分层3消息,部分网络节点,网络忙时,ASN.1码流转换成文本流,再通过python摘选“感兴趣”的内容放入数据库,所以也就几十张表,每张表上千万行吧。再多数据不是不能做,不过我要考虑我的硬盘开销,也要考虑后续数据分析的效率。
我不是专职搞开发的,只是对网络的某些问题展开做数据分析,找原因找思路而已。
[40 楼] benniewang [资深泡菜]
21-6-2 23:41
tianman 发表于 2021-6-2 10:38
要知道,数据量上万,或者传统算法无法满足需求的时候,原本就不该使用OFFICE处理了。。。
所以此时vba无从谈起。。。

从申请一个python安装包,到it给安装上,花了大概1个月的时间。法务部要审核python和各种应用库的开源license,还要评估。。。

就算vba麻烦一点,硬着头皮也就上了。
[39 楼] yejun [老坛泡菜]
21-6-2 21:55
fishu 发表于 2021-6-2 16:18
数据不超过百万行,且不牵涉太多科学计算,没啥必要使用Python。不过楼主要是有兴趣,玩玩也未尝不可。
office的人机交互更直观方便,零零碎碎,时常更改的需求,用office更方便;
Python人机交互较抽象,如果某个或某些操作逻辑要执行很多次,需求相对稳定,用Python更合适。
因为工作的需要,我会处理上百GB文本,上千万行的数据,这个时候用Python还是很愉快的,让计算机跑起来,人可以休息一阵。


上百GB不用Spark吗。
[38 楼] 开山鼻祖 [老坛泡菜]
21-6-2 16:39
fishu 发表于 2021-06-02 08:18
数据不超过百万行,且不牵涉太多科学计算,没啥必要使用Python。不过楼主要是有兴趣,玩玩也未尝不可。
office的人机交互更直观方便,...
上百g文本?展示一下。数据库千万记录也就百兆级文件。
本帖由 无忌论坛V3.1.0 iPhone6plus iOS14.4.1 客户端发布
[37 楼] arondes [陈年泡菜]
21-6-2 16:34
复杂应用 python几乎是最简单方法了 但python只是一个壳 具体的你要看工具
比如sqlite是一套系统 pandas是另一套 pyspark又是一套 这些都可以解决相当复杂的问题
[36 楼] 午夜半杯茶 [泡菜]
21-6-2 16:21
fishu 发表于 2021-06-02 16:18
数据不超过百万行,且不牵涉太多科学计算,没啥必要使用Python。不过楼主要是有兴趣,玩玩也未尝不可。
office的人机交互更直观方便,...

是有心尝试一下。
发布自 色影无忌小程序
[35 楼] fishu [资深泡菜]
21-6-2 16:18
数据不超过百万行,且不牵涉太多科学计算,没啥必要使用Python。不过楼主要是有兴趣,玩玩也未尝不可。
office的人机交互更直观方便,零零碎碎,时常更改的需求,用office更方便;
Python人机交互较抽象,如果某个或某些操作逻辑要执行很多次,需求相对稳定,用Python更合适。
因为工作的需要,我会处理上百GB文本,上千万行的数据,这个时候用Python还是很愉快的,让计算机跑起来,人可以休息一阵。
[34 楼] 午夜半杯茶 [泡菜]
21-6-2 15:54
qinxue86 发表于 2021-06-02 15:27
也不能说是趋势但是个人资历在简历上的一种体现,就目前而言除了一线城市的大企业用Python比较多外,内地城市基本上没有运用的环境,这跟...

其实我的工作VBA就能应付了,不过看着Python 应用范围更广,能做更多的事,所以对这个更感兴趣,我们的工作文件,大的几百行还是有的,一千多行的一年遇到也就一两次,但是遇到了很麻烦,所以才动了心思,最大的文件也就几十MB。
发布自 色影无忌小程序
[33 楼] qinxue86 [泡菜]
21-6-2 15:27
午夜半杯茶 发表于 2021-6-2 15:01
照这么说,这东西以后是趋势啊。

也不能说是趋势但是个人资历在简历上的一种体现,就目前而言除了一线城市的大企业用Python比较多外,内地城市基本上没有运用的环境,这跟工程领域的BIM一样虽然确实能提高效率减少不必要的工作量,但毕竟不是刚性需求如果抱着懂了自己就能好过,那趁早打消这个念头。
[32 楼] 娲姝 [泡菜]
21-6-2 15:13
形而上 发表于 2021-6-2 13:28
要是有几百上千万行的数据,直接存成CSV用Python、R之类的跑还真挺有些优势。日用还是算了。
excel自己的编程语言最近已经愈发混乱,f(x)、VBA两套语言貌似都在酝酿大改
最近这几年造编程语言就跟造电动车一样,是个人就想折腾折腾。


都 2021 年了,打开 MS Office 里的 VBA IDE,还是上世纪的 VB6 模样

这酝酿得也太久了点吧

[31 楼] 午夜半杯茶 [泡菜]
21-6-2 15:01
qinxue86 发表于 2021-6-2 14:25
如果日常办公用OFFICE都能处理得绰绰有余那就没必要上Python,但可以去了解去学习一点基础,毕竟很多招聘单位的HR都喜欢+上一条熟悉Python。。。。那怕他也不知道这是什么东西,但你懂一点总比傻眼好。
照这么说,这东西以后是趋势啊。
[30 楼] qinxue86 [泡菜]
21-6-2 14:25
     如果日常办公用OFFICE都能处理得绰绰有余那就没必要上Python,但可以去了解去学习一点基础,毕竟很多招聘单位的HR都喜欢+上一条熟悉Python。。。。那怕他也不知道这是什么东西,但你懂一点总比傻眼好。
[29 楼] 形而上 [资深泡菜]
21-6-2 13:28
要是有几百上千万行的数据,直接存成CSV用Python、R之类的跑还真挺有些优势。日用还是算了。
excel自己的编程语言最近已经愈发混乱,f(x)、VBA两套语言貌似都在酝酿大改。
最近这几年造编程语言就跟造电动车一样,是个人就想折腾折腾。
[28 楼] 娲姝 [泡菜]
21-6-2 11:23
yejun 发表于 2021-6-2 02:10
Excel内置vba。windows好像没有内置vb。

记得很久很久以前windows是可以直接运行VBScript的,不过这个和vba没什么关系。


(现在的)Windows 自带 msvbvm(VB 运行库)

但不带 VB 的编译器和 IDE,VB 程序不是解释型(VBA、VBS 是解释型),而是编译为伪代码的。

很久很久以前的 Windows 不能运行 VBS,没有 wscript.exe

具体时间我记得不是很清楚,大概是 Win95~98 时间才包含这玩意
[27 楼] 娲姝 [泡菜]
21-6-2 11:17
午夜半杯茶 发表于 2021-6-2 00:44
VB不装库能运行不,还是windows已经自带了VB的库?


VB不装库能运行不:
不能,VB 程序必须有 msvbvm

windows已经自带了VB的库:
是的,由于 VB 最后一个版本是 VB6,所以 VB6 之后的 Windows 都带有 msvbvm60.dll

你问的是 VB,我回答的也是 VB,但它不是 VBA 也不是 VBS 也不是 VB.net
[26 楼] tianman [泡菜]
21-6-2 10:38
benniewang 发表于 2021-6-2 01:54
vba适合喜欢图形界面的人。
python适合批量或者复杂的算法,比方说:数据量上万,或者传统算法无法满足需求的时候,我会用python。

但是看你的情况,vba应该够用了。

要知道,数据量上万,或者传统算法无法满足需求的时候,原本就不该使用OFFICE处理了。。。
所以此时vba无从谈起。。。
[25 楼] tianman [泡菜]
21-6-2 10:35
开山鼻祖 发表于 2021-6-1 19:22
转帖网上评述。

四、Python通过什么与Office交互?
Python会代替VBA成为Office下一代语言,这种言论在Python圈广为传唱。他们不知道,VB为了一统Office宏语言的江湖,花费了数年之久才有今天的VBA。VB全工具链(VB、VBA、VBS)以Office为战略重心,服务了近26年,你说Python会取代VBA,Python是给了微软多少好处啊!
VBA生而为Office,连当年叱诧风云的VB都为之转身。如果Office没有VBA这条护城河,你以为Office能霸占办公软件头把交椅那么久? 弄懂VBA就是Office的开发语言,这一点很重要。
再来看看其他开发工具是如何与Office交互的?我们说Office是基于COM的,非Office进程的东西,想要进入Office的地界,除非你Hook,否则都得通过它 ...

确实如此。。。。

如果你专注于Office,VBA自然是最佳选择。
如果你只是在某些应用中使用Office中的数据的话,那么要看这个应用的开发环境。

离开具体的环境是无法比较优势的。。。
[24 楼] 太没劲了 [陈年泡菜]
21-6-2 10:12
benniewang 发表于 2021-6-2 01:54
vba适合喜欢图形界面的人。
python适合批量或者复杂的算法,比方说:数据量上万,或者传统算法无法满足需求的时候,我会用python。

但是看你的情况,vba应该够用了。


这么说较精准,
[23 楼] 原版咕咚 [资深泡菜]
21-6-2 09:54
windows上的powershell比python强
[22 楼] 至暗时刻 [禁言中]
21-6-2 08:47
"复杂"的应用, 还在Excel里面搞就太别扭了. 这种情况我肯定会整到数据库里面去. 数据库怼Excel, 就像Excel怼计算器, 或者像计算器怼算盘.
[21 楼] 闲聊状态 [泡菜]
21-6-2 08:28
python+数据库 最轻的是 sqlite 有offcie 的可以试试 access

这个组合python数据处理的处理方式
[20 楼] yejun [老坛泡菜]
21-6-2 02:10
午夜半杯茶 发表于 2021-6-2 00:44
VB不装库能运行不,还是windows已经自带了VB的库?


Excel内置vba。windows好像没有内置vb。
微软有安装python的文档。
https://docs.microsoft.com/zh-cn/windows/python/beginners 本帖最后由 yejun 于 2021-6-2 02:25 编辑
以下内容由 yejun 于 2021-6-2 03:28 补充
记得很久很久以前windows是可以直接运行VBScript的,不过这个和vba没什么关系。