2014-01-20 23 views
5

Ich versuche, eine Zeichenfolge in einer Zelle innerhalb einer Excel-Datei zu schreiben. Mein Code istAttributeError: 'Sheet' Objekt hat kein Attribut 'write'

import xlwt 
import xlrd 
workbook = xlrd.open_workbook('my_workbook.xls') 
worksheet = workbook.sheet_by_index(0) 
worksheet.write(0,2,"string") 

Während ich nach einer Lösung suchte ich leardned dass es becouse meine xlwt Bibliothek eine alte Version hat sein könnte. Aber als ich es überprüft habe, habe ich xlwt: 0.7.5 bekommen. Und ich war wieder einmal ahnungslos. Jede Hilfe wird geschätzt.

+0

[Dies] (http://stackoverflow.com/questions/2725852/writing-to-existing-workbook-using-xlwt) Frage helfen könnte. – aIKid

Antwort

4

Nach der Suche in das Problem fand ich eine Lösung mit der xlwt-Bibliothek, um die Daten in eine virtuelle Arbeitsmappe und die xlutils-Bibliothek zu schreiben, um es zu speichern und damit die virtuelle Arbeitsmappe in eine tatsächliche .xls-Datei.

import xlrd 
import xlwt 
from xlutils.copy import copy 
import os.path 
rb = xlrd.open_workbook('my_workbook.xls',formatting_info=True) 
r_sheet = rb.sheet_by_index(0) 
wb = copy(rb) 
sheet = wb.get_sheet(0) 
sheet.write(5,2,"string") 
wb.save('my_workbook.xls') 
Verwandte Themen