【发布时间】:2016-12-19 20:45:41
【问题描述】:
我正在解析 vba 宏加密的 Excel 文件并尝试复制 Excel 文件中的所有工作表,但我的脚本一直在爆炸。我在我的 sn-p 中做错了什么。
import csv
import xlrd
workbook = xlrd.open_workbook('P:/NEW.xlsm')
for sheet in workbook.sheets():
with open('{}.csv'.format(sheet.name), 'wb') as f:
writer = csv.writer(f)
writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
错误:
Traceback (most recent call last):
File "C:/Users/datainput.py", line 8, in <module>
writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 20: ordinal not in range(128)
【问题讨论】:
-
请添加您的
NEW.xlsm的示例 -
请详细说明您的意思?您的意思是提供所有工作表的名称吗?
标签: python python-2.7 csv xlrd