# ------ Read file to Array ------------------- :
StoredData = []
try:
FileReader = csv.reader(open(file), delimiter=D)
except:
print "Unable to parse csv %s."%file
usage(2)
for line in FileReader:
for item in line:
item = unicode(item.decode(locale.getpreferredencoding()))
StoredData.append(line)
# ------ Write Array to Worksheet ------------- :
wb = Workbook()
ws = wb.create_sheet()
ws.title = os.path.basename(file).split('.')[0]
#for Row in StoredData: # doesn't work because AIX, workaround below
# ws.append(Row)
for R in xrange(len(StoredData)):
for C in xrange(len(StoredData[R])):
col = cell.get_column_letter(C + 1)
ws.cell('%s%s'%(col, (R+1))).set_value_explicit(value=StoredData[R][C], data_type='s')
StoredData[R][C] = ''
outfile = '.'.join([file.split('.')[0],'xlsx'])
# Bugfix _ Remove extra worksheet if one exists.
print wb.get_sheet_names()
for sheet in wb.get_sheet_names():
if sheet != ws.title:
try:
wb.remove_sheet(wb.get_sheet_by_name(sheet))
except:
print "Warning: failed to delete buggy worksheet '%s'."%sheet
pass
# -------------------------
wb.save(filename = outfile)
Traceback (most recent call last):
File "/batch/common/bin/excelify.py", line 94, in <module>
wb.save(filename = outfile)
File "/batch/common/lib/python2.6/site-packages/openpyxl/workbook.py", line 207, in save
save_workbook(self, filename)
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/excel.py", line 141, in save_workbook
writer.save(filename)
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/excel.py", line 124, in save
self.write_data(archive)
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/excel.py", line 70, in write_data
self._write_worksheets(archive, shared_string_table, self.style_writer)
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/excel.py", line 91, in _write_worksheets
style_writer.get_style_by_hash()))
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/worksheet.py", line 62, in write_worksheet
write_worksheet_data(doc, worksheet, string_table, style_table)
File "/batch/common/lib/python2.6/site-packages/openpyxl/writer/worksheet.py", line 174, in write_worksheet_data
start_tag(doc, 'c', attributes)
File "/batch/common/lib/python2.6/site-packages/openpyxl/shared/xmltools.py", line 83, in start_tag
doc.startElementNS((namespace, name), name, attr2)
File "/opt/freeware/lib/python2.6/xml/sax/saxutils.py", line 139, in startElementNS
self._write('<' + self._qname(name))
File "/opt/freeware/lib/python2.6/xml/sax/saxutils.py", line 99, in _write
self._out.write(text)
File "/opt/freeware/lib/python2.6/StringIO.py", line 221, in write
self.buflist.append(s)
MemoryError
No no, you can create your workbook using wb=Workbook (True) and just append rows as you do already.
Cheers
Eric
--
You received this message because you are subscribed to the Google Groups "openpyxl-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpyxl-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.