V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
glouhao
V2EX  ›  Python

没啥 Python 经验 抄个合并 excel 代码改下老失败 求大佬帮忙

  •  
  •   glouhao · 2017-12-18 21:19:45 +08:00 · 2138 次点击
    这是一个创建于 2314 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我想根据每一列的值,合并一堆 excel,可是老出问题,各种问题,求大神指点啊。
    #!/usr/bin/env python
    #coding=utf-8
    import os
    import xlrd
    import xlwt

    file = xlwt.Workbook()
    ta = file.add_sheet('sheet1')
    nr = 0
    li = []
    def isset(v):
    try :
    type (eval(v))
    except :
    return 0
    else :
    return 1

    for fname in os.listdir("F:/同行交易记录 /直接搜索结果 /"):
    #print(fname)
    #print("F:/同行交易记录 /直接搜索结果 /"+fname)
    lujing = "F:/同行交易记录 /直接搜索结果 /"+fname
    data = xlrd.open_workbook(lujing)
    table = data.sheet_by_index(0)
    nrows = table.nrows
    ncols = table.ncols
    t = nrows
    #print(table.row(0))
    thead = table.row(0)
    for x in range(len(thead)):
    if str(thead[x]) == "text\:\'日期\'":
    date = x
    if str(thead[x]) == "text\:\'国内企业\'":
    gnqy = x
    if str(thead[x]) == "text\:\'日期\'":
    gwqy = x
    for i in range(nrows):
    print(i)
    if (isset("date")):
    ta.write(nr+i-nrows+t,0,table.row(i)[date].value)
    if (isset("gwqy")):
    ta.write(nr+i-nrows+t,1,table.row(i)[gwqy].value)
    if (isset("gnqy")):
    ta.write(nr+i-nrows+t,2,table.row(i)[gnqy].value)
    #li.append(table.row(i)[9].value)
    nr += t
    print(nr)
    #print(li)
    file.save('F:/同行交易记录 /直接搜索结果 /res.xls')
    10 条回复    2017-12-28 13:04:13 +08:00
    Luckyray
        1
    Luckyray  
       2017-12-18 21:41:36 +08:00
    给你点人生经验,提问题的姿势应该是:
    我想想要做什么,遇到了什么问题,我做了哪些努力仍然没解决。
    你把一个严重依赖缩进的语言的大段代码,扭作一团扔在这里,还期待别人给你回答?
    glouhao
        2
    glouhao  
    OP
       2017-12-18 21:45:32 +08:00
    @Luckyray 没有的..... V2EX 的编辑模式不会用.... 没有出现缩进错误其实
    CEBBCAT
        3
    CEBBCAT  
       2017-12-18 21:54:56 +08:00
    可以用 gist 贴代码
    shijingshijing
        4
    shijingshijing  
       2017-12-18 22:00:19 +08:00
    不明白这种东西为什么不用 VBA 来做,即使 python 是个瑞士军刀,你现在需要的是个合适的锤子啊。。。

    而且这个缩进,你还是先买一把游标卡尺再来吧。。。。
    lonccc
        5
    lonccc  
       2017-12-19 10:25:00 +08:00 via Android
    @glouhao 你自己是没有缩进错误,我们看着就没有缩进,这种代码我不知道谁会想多看一眼
    ptrees
        6
    ptrees  
       2017-12-19 12:06:30 +08:00
    还是贴报错信息吧,调试程序都是看报错,不是直接看代码
    congeec
        7
    congeec  
       2017-12-19 16:57:25 +08:00
    都说 V2EX 对新人不友好,看楼上回答我觉得已经很有好了。这种问题要是在 stackoverflow 上,直接被 down 到没脸见人
    glouhao
        8
    glouhao  
    OP
       2017-12-19 23:04:40 +08:00 via Android
    刚发的时候,发展换行都没了,编辑了下,发现缩进还是没有,想再~编辑下,发现没法编辑了,你们说我有啥办法……就会冷嘲热讽。嫌碍眼给我删了,也不用回了。
    ppy
        9
    ppy  
       2017-12-27 15:06:20 +08:00
    没啥 Python 经验就是你急于求成达到目的的理由吗,看看 xlrd xlwt 的文档自然就可以解决自己的问题。
    glouhao
        10
    glouhao  
    OP
       2017-12-28 13:04:13 +08:00 via Android
    @ppy 已经解决了,就是不存在的变量报错的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   943 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:06 · PVG 04:06 · LAX 13:06 · JFK 16:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.