2014-03-07 4 views
3

저는 파이썬 (그리고 일반적으로 프로그래밍)에 익숙하지 않습니다.xlutils.copy [python 2.7 - excel]

가 나는 XLSX 통합 문서를 (이것은 일반적인 문제입니다하지만 난 나를 위해 어떤 해결책을 찾을 수 없습니다)에 액세스하기위한 xlrd, xlwtxlutils을 사용하는 데 문제가 있습니다.

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") 

그리고 오류 I 받고 있어요 : 설치 xlutils의

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) 

버전 : 1.7.0 OS : 윈도우 8 엑셀 : 여기

내 코드입니다 사무실 20113

+1

xlsx 파일에는 몇 개의 열이 있습니까? –

+0

질문을 게시하는 Tnx. XLrd xlwt xlutils는 xlsx가 아니라 xlsx입니다. 그래서 openpyxl을 사용하여 해결책을 찾습니다. – Krasto

+0

@Krasto 위대한 해결책을 찾았습니다. 답으로 게시하면 다른 사람들에게 장래에 도움이됩니다. 또는 "솔루션"이라는 제목의 마지막 부분으로 추가하십시오. –

답변

1

xlrd, xlwt, 및 xlutilsxls 개의 파일에 액세스 할 수 있으며 xlsx 개의 파일로 업데이트되지 않아 여러 오류가 발생합니다. 해결 방법으로

, 지금은 쉽게 읽고 엑셀에게 xlsx/xlsm/xltx/xltm 파일을 쓸 수있는 파이썬 라이브러리 openpyxl있다.