2022-06-25 07:38来源:m.sf1369.com作者:宇宇
作为一个数据分析师来回答一下:
我做这行两年多了,刚开始的时候用的多是MySQL数据库,当然,Oracle数据库也会用到,尤其是在金融行业或者国企都用Oracle,一般的公司使用MySQL数据库,可能是因为MySQL数据库免费吧。另外,在一家互联网公司,我遇到了mongodb,目前一些新兴的互联网公司使用nosql的也比较多,这个当时是现学现卖的。作为一个数据分析师,可能对数据库的使用一般是存取数据,至于更高级别的优化、事务之类的,一般是使用不到的,有专门的数据库人员,我们只要用好数据库就好。
说道数据分析或者数据挖掘,除了数据库来存取数据,我们还需要处理数据的工具,最趁手的当然是Python了。Python结合数据库是日常的code,Python也提供了齐备的工具,针对MySQL的有pymysql库,和oracle结合有cx_Oracle库,和mongodb结合有pymongo库,另外当然少不了我们的数据分析利器pandas库了,提供了read_sql函数,支持各种数据库,直接读取成DataFrame的数据格式,十分的方便。
总结一下就是:其实遇到的大多数都是MySQL,oracle也有,这两种都是sql语句,差别不大,只要掌握sql语句,这两个数据库问题都不大,mongodb是新兴的非关系数据库,语句也不是很复杂,之间上手工作也是无压力的。结合Python中的pandas使用,让你很溜的处理数据,数据分析也就得心应手了,小case了。
小数据使用工具:excel(优秀的制图) / oracle、mysql (数据存储)/ python(数据处理)
大数据使用工具:HDFS、hive(数据存储) / python(数据挖掘)
针对你提的问题,建议如下:
ACCESS数据库,拖拽操作,建议单独使用,工作这么多年,很少见到使用Python调用ASSCESS数据的。
如果只是数据分析,采用mysql 结合 Python比较合适,因为mysql是开源的,免费,千万级的数据处理没问题。ORACLE是收费,现在国内的公司在去ORALCE,因此不建议。
其实Vba和Python作为语言来比较,没有特别谁比谁好的。比如下面是许多人列出的对比:
Python资料多。其实你用Vba可以通过录制宏得到大致的代码
Python语法简单。其实编程语言来来去去就那么几个基本语法,说语法知识点的话,Vba的语法数量更少(因为他是一门很久没有更新的语言)
Python的库多。这是真的,Vba没法相比。
这样看起来,感觉好像Vba会好一些,其实你的问题应该从2方面去做考量。
一,操作Excel为主如果你的工作需求都是可以通过Excel内置功能完成,那么 Vba 会更加方便,你编写代码方便,就意味着你更容易学习。
比如:批量设置多个工作表的格式,简单调用Excel内置排序功能完成数据排序等等
如上这些需求其实都不涉及复杂的数据处理,完全是调用Excel内置功能即可完成,因此使用Vba只需要简单录制宏,通过基本语法即可完成自动化。
二,数据处理为主当你需要进行数据处理的时候,那么Vba平台就显得很笨重。一旦数据量上千过万(这数量级实际很小),你就需要学习数组、字典这些知识才能完成任务,这里面的学习量就很大。
比如:某学校考试超过全校平均成绩的学生列出来。
就这么一个简单的需求,你要用Vba完成,代码量不会少,如果你在代码中使用函数公式,代码逻辑会不清晰,并且数据量上千后,速度会很慢。如果你用数组处理,代码量会多起来。
如果你学习python,并且会一点pandas库的知识,这种需求就一两句代码解决的事情,并且代码逻辑清晰。
因此,如果你的工作任务涉及这种数据处理需求,那么建议你学习Python。随着需求难度升级,如果你用vba,不是说不可以解决,只是说你可能会疯掉。
三,操作Excel + 数据处理你的情况可能是既要操作Excel,又有数据处理。那么建议你先学习Python,因为操作Excel其实可以使用Python的xlwings库完成,操作逻辑的代码同样可以通过录制宏稍作修改即可使用。
而且,当你学会python,其实学习vba是很简单的事情,因为你不需要考虑用低级结构(数组,字典这些)去处理数据。
最后顺便提醒一下你,其实Python语言在数据处理上本身没有啥特别优势,但是Python作为一个平台,他有许多优秀成熟的第三方库,那些库才是你的学习重点。千万不要把宝贵的精力用在低效的地方
你可以去看看我的头条号的文章,非常多关于数据处理的文章,也有一部分是结合Vba与Python一起使用的案例,有学习疑问也可以私下交流。
我之前也尝试过学VBA,后来用了Python,VBA却一直没学会。个人建议还是学Python好,主要考虑以下几点:
上手难易度来说,Python 容易一些。我试了一段时间VBA,想做一些自动化工作,感觉非常麻烦,所以干脆放弃了,而Python是一套很标准的编程语言,逻辑很清楚,学起来很快。当然,也有可能我方法不对。
学习资料上说,Python非常丰富,VBA比不上。
之后写代码的容易程度。这一点Python完胜,就算在编程语言中,Python也可以说是使用最方便,实现脚本需求最快的语言。
对日常需求的满足程度。VBA肯定能满足Excel操作的所有需求;而Python操作Excel主要使用xlrd、xlwt模块,我个人使用的经验是,设置单元格格式比较麻烦,当然,我不清楚VBA中是不是也这么麻烦。
未来的扩展能力。毫无疑问,这一点也是Python完胜,Python作为一门脚本语言,在工作的各个场景中都很有用处,数据处理和分析,文本处理等,都有很常见的自动化需求。
其实,之前有很多人提议微软的office直接支持Python编程,好像微软已经接受了这个提议,只是具体实现尚需时间。从这个角度来说,这时再学VBA,就有点像49年加入国民党了。
供参考!