2014-09-23 3 views
1
import string 
import xlrd 
import xlsxwriter 
workbook = xlsxwriter.Workbook('C:\T\file.xlsx') 
worksheet = workbook.add_worksheet() 
book = open_workbook(r'C:\T\test.xls','r') 
sheet = book.sheet_by_index(0) 
for row_index in range(sheet.nrows): 
    for col_index in range(sheet.ncols): 
    print sheet.cell(row_index,0).value 
    x = sheet.cell(row_index,0).value 
    worksheet.write_string(row_index,col_index,x) 
workbook.close() 

저는 python에 능숙합니다. 여기에 나는 xls 파일을 xlrd으로 읽으려고하고 xlsxwriter 모듈을 통해 다른 xlsx 파일에 복사하려고합니다. 데이터는 생성 된 xlsx 시트에 붙여 넣기되지 않습니다. 제발 이걸 안내 해줘. 은 정확한 코드입니다. 잘못하면 저를 제발 수정하십시오.python을 사용하여 반복 쓰기 오류가 발생하는 파일

미리 감사드립니다.

답변

0

예제 프로그램이 거의 작동합니다. 주로 open_workbook() 메서드 앞에 클래스를 추가해야하며 읽고있는 모든 데이터가 문자열 형식인지 확실하지 않으면 XlsxWriter write() 대신 write_string()을 사용하는 것이 좋습니다. 또한 프로그램은 열 0에서 값을 읽는 중일뿐입니다.

이러한 변경 내용은 동일한 예제입니다. 또한 어떤 모듈이 어떤 메소드를 호출하는지 명확하게하기 위해 변수 in_out_의 이름을 변경했습니다.

import xlrd 
import xlsxwriter 

out_workbook = xlsxwriter.Workbook('file.xlsx') 
out_worksheet = out_workbook.add_worksheet() 

in_workbook = xlrd.open_workbook(r'test.xls', 'r') 
in_worksheet = in_workbook.sheet_by_index(0) 

for row_index in range(in_worksheet.nrows): 
    for col_index in range(in_worksheet.ncols): 
     cell_value = in_worksheet.cell(row_index, col_index).value 
     out_worksheet.write(row_index, col_index, cell_value) 
     print cell_value 

out_workbook.close() 
관련 문제