首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

一般来说, Python 和 excel 哪个处理数据更快?

  •  
  •   yellowtail · 56 天前 · 3887 次点击
    这是一个创建于 56 天前的主题,其中的信息可能已经有所发展或是发生改变。
        1
    Tink   56 天前 via iPhone
    处理数据?啥数据?
        2
    lithiumii   56 天前
    看你要干什么,以及有多熟练。不过稍微大一点的数据(几百行 * 几百列),Excel 就得开一会儿了吧。真·大数据 Excel 完全做不了。
        3
    flynaj   56 天前 via Android   ♥ 1
    Python 快,因为它不回显
        4
    dartabe   56 天前
    ctrl + f 算不算 hash 表? :)
        5
    xupefei   56 天前
    @lithiumii #2 几百行几百列基本上是瞬开的。不要太小看 Excel 了…
    硬件配置足够的情况下 Excel 能可视化处理几万行的数据,如果用 PowerBI 扩展,Excel 能搞定上百万行的数据分析。微软自己就演示过用 PowerBI 可视化分析千亿行数据。
        6
    youthfire   56 天前 via iPhone
    都用,完全取决于数量级
        7
    luozic   55 天前 via iPhone
    python 的方案软件便宜,库多,可以挂到 spark numpy 等上面玩,excel 主要是可视化编辑和操作 傻瓜点,不过现在 python 也有 jypter 了。有代码经验上 python,没有的出钱上 powerBI+Excel
        8
    congeec   55 天前
    什么酸快?人的时间还是机器的时间?
        9
    Les1ie   55 天前
    看数据量吧, 以前用 pandas 导出来的几万行的 xls, excel 处理起来有点费力, 但是 pandas 处理起来感觉还挺流畅的。
    不过还是要看具体的需求,遇到过好几次了,需要花点时间才能写出来的脚本,excel 里面点点点两分钟就搞定。Excel 很多功能是提前写好了的,只需要点点点就行,另外要给透视表要给透视表一个好评,用起来太方便了 :)
        10
    lhx2008   55 天前 via Android
    excel 计算可以利用多核资源的,一点都不慢,只是数据量有上限
        11
    Nasei   55 天前
    @lithiumii
    我见过组里的汽车网络工程师用 excel 收集汽车路试过程中的数据, 几个小时下来一堆 excel, 一个 excel 好几百兆, 然后打开套模板出好几个数据统计图表, 就普通的台式机上, 处理起来一点不慢
        12
    loading   55 天前
    不说场景其实没啥好对比的,excel 能调用 vba 然后调其他语言,python 就更不用说了。
        13
    kiwi95   55 天前 via Android
    比速度,Python 基本都是输
        14
    yanchao7511461   55 天前
    这比较的让我匪夷所思
        15
    ipwx   55 天前
    @kiwi95 NumPy / Pandas 用 C 写的,只要你不写 Python 循环而是用这些库的向量运算,都很快。
        16
    hakono   55 天前 via Android   ♥ 3
    搞不懂处理数据方面你们为什么一定要把 excel 和 python 彻底对立起来比较呢?
    excel 的可视化展现和操作是 Python 根本比不了的
    而 python 利用 numpy 等库做数据操作的便利性也是 excel 没法简单提供的( vba 那玩意太操蛋了)

    所以其实结论很简单,只需要将 excel 和 Python 结合起来就行了。方法是通过 excel 的 com 接口,python 调用 excel 接口直接读取操作 excel 上的数据进行计算,然后再用 excel 做数据展现( excel 内置的 vba 就是通过调用 excel 但 com 接口完成各种功能的)相当于 excel 只是个 gui 了(这方法可不是 python 读写 xlsx 文件那种低效率套路)

    https://www.xlwings.org
    这个库是有人封装好的 com 接口库,调用起来非常方便
    可以看看介绍了解下
        17
    yellowtail   55 天前
    @hakono 只是好奇,假如我问 C 语言和 python 哪个快估计没人说看情况了,就直接说 C。 因为国内很多机构用 excel 来计算期权价值,算是 python 的对手盘,所以想知道大概怎么回事
        18
    hakono   55 天前
    @yellowtail 主要是不明确范围的讨论下没人能简单下结论。比如限定好范围:c 语言和 python 哪个“快”(一般都理解成执行速度的快,而不是开发速度的快),那很轻松就能得到结论是 c
    而单纯抛出个 excel 和 python 数据处理的话,就没那么简单了。因为你提数据处理,不光光是只有计算,数据读取,数据测试,可视化等等。每个方面 excel 和 python 都有不同的用处。比如用数据做不复杂的图表的话我当然选择 excel 而不是 matplotlib。我想轻松展现计算的数据,python 虽然可月 print 或者用 pandas 但依旧没有 excel 这样直接展现出来直观。

    所以我提到的 xlwings 是个很好的库
    打开 excel 和 python,直接一句 xw.Range("A1:A10").value 就能读取操作 excel 界面上的数据。
    而且这个库还能在 excel 里嵌入 python

    python 专职数据计算,excel 负责展现,就是这样……
        19
    shange123   55 天前
    肯定 python 啊,现在数据分析,数据处理都用 python
        20
    Torpedo   55 天前 via Android
    看你熟悉哪个
        21
    zea   55 天前 via Android
    为嘛不用 matlab/octave
        22
    Ginson   55 天前
    Excel 处理几十万级的 vlookup 就慢得不行了,所以我专门整了个 Python 脚本来处理类 vlookup 问题
        23
    youthfire   55 天前
    @Ginson vlookup 不仅是慢,而且是功能有限,考虑到扩展性和速度性我也是用 pandas 取代了
        24
    anguiao   55 天前
    我记得微软以前好像说过打算在 Excel 里面添加 Python,不知道后来为什么鸽了。
        25
    JCZ2MkKb5S8ZX9pq   55 天前
    小东西用 excel 比较便利,可以利用 excel 作为数据输入的 GUI。
    给客户演示及导出,大多数情况下也是 excel 比较便利。
    但如果复杂查询,关联,Excel 里数组公式套多一点,明显就不大行了,还是要上数据库。
    Excel 有概率崩,py/pandas/数据库更稳妥点。
        26
    snw   54 天前
    @anguiao
    往 Excel 里添加 Python 只是用户提的愿望,然而微软已经大笔投资了 javascript/typescript,所以估计官方不会提供 Python 支持。

    MS Office 已经提供了 javascript api
    https://docs.microsoft.com/en-us/office/dev/add-ins/reference/javascript-api-for-office

    预览版已经支持 javascript 自定义公式和插件(虽然第一时间就被用于挖矿了 233 )
    https://docs.microsoft.com/en-us/office/dev/add-ins/excel/custom-functions-overview
        27
    snw   54 天前
    @lithiumii
    对于没有格式的数据,Excel 半分钟足够打开十几万行×二三十列的数据。
    Excel 慢的最主要原因是单元格格式太多,其他原因比如使用旧格式(.xlsx 和.xlsb 格式体积和读写速度都比.xls 好得多),用了太多插件,VBA 大量操作单元格时没暂停刷新,咖喱味的代码等等。
        28
    hunter2015   54 天前
    当然是 excel 了,这还用问
        29
    xpresslink   53 天前
    楼主详细定义一下“处理”二字的内涵和外延不然真心没法回答。
        30
    yellowtail   52 天前
    @xpresslink 就是最简单的处理吧,计算关系得到结果
        31
    xpresslink   52 天前
    @yellowtail 你说的等于没说。
    其实这两个东西没有什么可比性,就跟比较跑车和高铁拉客哪个更好一样。
    EXCEL 的强大在于可视化的操纵小量数据做简单处理的便捷性。几十万条以上数据基本上就没有可用性了。
    python 的强大在于撸个尝试性的代码可用的库多简洁省事儿,再复杂的逻辑再大的数据量也不是问题。
        32
    yellowtail   52 天前
    @xpresslink 哎 我说的就是计算。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1452 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 00:17 · PVG 08:17 · LAX 17:17 · JFK 20:17
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1