xlutils.copy

我是新来的python(和一般编程)。

我有一个问题,使用xlrdxlwtxlutils来访问xlsx工作簿(这是一个常见的问题,但我没有find任何解决scheme)。

我应该改变我的包为py-excel吗? 在那种情况下,哪一个?

这是我的代码:

 import xlrd import xlwt from xlutils.copy import copy as xlutils_copy rd = xlrd.open_workbook("x:/PROJECTS/Papers/2014_Pasture/a.xlsx") rdsh = rd.sheet_by_name("FR_PASTURE") wrb = xlutils_copy(rd) ws = wrb.get_sheet_by_name("FR_PASTURE") 

而我收到的错误:

 Traceback (most recent call last): File "X:\PROJECTS\Papers\2014_Pasture\AdjustXLSStats.py", line 28, in <module> wrb = xlutils_copy(rd) File "C:\Python27\lib\site-packages\xlutils-1.7.0-py2.7.egg\xlutils\copy.py", line 19, in copy w File "C:\Python27\lib\site-packages\xlutils-1.7.0-py2.7.egg\xlutils\filter.py", line 937, in process reader(chain[0]) File "C:\Python27\lib\site-packages\xlutils-1.7.0-py2.7.egg\xlutils\filter.py", line 68, in __call__ filter.cell(row_x,col_x,row_x,col_x) File "C:\Python27\lib\site-packages\xlutils-1.7.0-py2.7.egg\xlutils\filter.py", line 573, in cell wtrow.set_cell_number(wtcolx, cell.value, style) File "build\bdist.win-amd64\egg\xlwt\Row.py", line 203, in set_cell_number self.__adjust_bound_col_idx(colx) File "build\bdist.win-amd64\egg\xlwt\Row.py", line 78, in __adjust_bound_col_idx raise ValueError("column index (%r) not an int in range(256)" % arg) ValueError: column index (256) not an int in range(256) 

安装了xlutils的版本:1.7.0操作系统:windows 8 excel:office 20113

xlrdxlwtxlutils用于访问xls文件,并且尚未更新用于xlsx文件,这会导致您的多个错误。

作为一种解决方法,现在有一个Python库openpyxl ,可以轻松读取和写入Excel xlsx / xlsm / xltx / xltm文件。