首页   注册   登录
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,外部因素非常多,有可能中途失败了,失败程序报错停止时,如何调用保存方法,把报错之前的数据仍写到 excel 中?

  •  
  •   wsds · 39 天前 · 899 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1.python 脚本处理一些数据,从外部写数据到 excel,外部因素非常多

    2.很大可能中途直接失败了,失败时程序报错停止时了,也调用不到 save 方法()

    3.如何调用保存方法,把报错之前的数据仍写到 excel 中?

    4.用的第三方库是 xlwt,为什么没有写一行,保存一次,因为我发现这货,保存后,再写,之前写的就清空掉了,蛋疼
    13 回复  |  直到 2018-05-10 21:37:00 +08:00
        1
    264768502   39 天前 via Android
    try/finally(save)?
        2
    zhangsen1992   39 天前
    不好处理 直接数据库操作 copy 到 excel
        3
    haoyuwu3   39 天前
    try ...finally
        4
    wsds   39 天前
    @haoyuwu3 异常目测有 10 几路,try 不完啊,
        5
    haoyuwu3   39 天前
    @wsds except 是用来捕获各种异常的,无论异常是什么,finally 在程序结束前都会执行的
        6
    dassh   39 天前
    4.用的第三方库是 xlwt,为什么没有写一行,保存一次,因为我发现这货,保存后,再写,之前写的就清空掉了

    试试 openpyxl,至少没有这个问题,而且我记得 xlwt 对 xlsx 支持得不是很好?
        7
    ml1344677   39 天前
    @dassh +1 对于 xlsx 有可能遇到问题
        8
    q9REUgpVVCU77pWj   39 天前
    不怕麻烦的话,就写一次,存一次,读一次,再写再存咯。但这也太蛋疼了。
        9
    xjp   39 天前
    如果只是简单格式的话 我建议不要用 xlsx 了 也不用第三方库了 直接写 csv 或者干脆\t 分割 excel 也可以直接打开

    open/write 就是干
        10
    Luckyray   39 天前 via iPhone
    我遇见过个类似的跟楼上思路类似,先保存到文件,就用空格或者逗号分隔,搞定之后再写到 excel
        11
    so1n   39 天前
    @dassh 这东西没有追加模式只有写模式?
        12
    RangerWolf   39 天前
    我一般是使用 pandas 直接写 Excel
    另外, 两次写文件之间, 至少保持 2-3 秒的间隔。
        13
    lihongjie0209   39 天前
    你就不能先写到 csv 文件中吗???

    假设你的程序运行十分钟, 一分钟创建一个 csv 文件, 把一分钟内的数据都写入到这个文件, 这样报错也只会丢失一分钟内的数据(当然时间间隔可以更小),


    ------ 从这里开始不会收到外部的影响---------
    最后把所有的 csv 文件都合并成一个最终版本.

    最后的最后如果有需要那就把 csv 转成 excel
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1782 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 15:03 · PVG 23:03 · LAX 08:03 · JFK 11:03
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1