python 合并工作簿_将多个csv文件合并到一个xls工作簿Python 3中

我们正处于从python 2.7到python 3.5的过渡期。这是一个公司范围内的变化,我们当前的大多数脚本都是用2.7编写的,没有额外的库。我已经利用了我们正在使用的Anaconda发行版,并且已经使用2to3模块更改了我们的大部分脚本或完全重写它们。我被困在一段代码上,我没有写,而原作者不在这里。他也没有提供评论,所以我只能猜测整个剧本。95%的脚本正常工作,直到它创建7个具有不同解析信息的csv文件结束后,它有一个自定义函数将csv文件合并到xls工作簿中,每个csv作为新选项卡。import csv

import xlwt

import glob

import openpyxl

from openpyxl import Workbook

Parsefiles = glob.glob(directory + '/' + "Parsed*.csv")

def xlsmaker():

for f in Parsefiles:

(path, name) = os.path.split(f)

(chort_name, extension) = os.path.splittext(name)

ws = wb.add_sheet(short_name)

xreader = csv.reader(open(f, 'rb'))

newdata = [line for line in xreader]

for rowx, row in enumerate(newdata)

for colx, value in enumerate(row):

if value.isdigit():

ws.write(rowx, colx, value)

xlsmaker()

for f in Parsefiles:

os.remove(f)

wb.save(directory + '/' + "Finished" + '' + oshort + '' + timestr + ".xls")

这是在python 2.7中编写的,如果我在python 2.7中运行它仍然可以正常工作。问题是它在python 3.5中运行时抛出错误。File "parsetool.py", line 521, in (module)

xlsmaker()

File "parsetool.py", line 511, in xlsmaker

ws = wb.add_sheet(short_name)

File "c:\pythonscripts\workbook.py", line 168 in add_sheet

raise TypeError("The paramete you have given is not of the type '%s'"% self._worksheet_class.__name__)

TypeError: The parameter you have given is not of the type "Worksheet"

有关应采取哪些措施来解决上述错误的任何想法?我试过多次重写,但我得到类似的错误或新的错误。我正在考虑只是想出一个全新的方法来创建xls,而不是pandas。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值