schreiben Sie xlsx-Datei mit openpyxl-Modul in python
Ich habe Probleme beim schreiben in excel-Datei mit openpyxl Modul. So weit ich in der Lage bin, dies zu schreiben, code
from openpyxl.workbook import Workbook
import datetime
header = [u'Name', u'Email', u'Mobile', u'Current location',]
new_data = [
[u'name1', u'[email protected]', 9929283421.0, u'xxxx'],
[u'name2', u'[email protected]', 9994191988.0, u'xxxx']
]
wb = Workbook()
cur_date = str(datetime.date.today())
log_file = "%s/%s_%s_errorlog.xlsx" % (settings.MEDIA_ROOT,
os.path.splitext(file_name)[0],
cur_date)
log_csv = wb.worksheets[0]
for i in range(1, len(header) + 1):
log_csv.cell(row = 1 ,column = i).value = header[i - 1]
wb.save(log_file)
error_count = 0
for each_row in new_data:
error_count += 1
for i in range(1, len(each_row) + 1):
log_csv.cell(row = error_count ,column = i).value = each_row[i - 1]
wb.save(log)
Datei ist erstellt, aber es ist beschädigt und ich bin nicht in der Lage, um es zu öffnen mit dem excel-Datei-reader (LibreOffice), bereitgestellt durch das OS (ubuntu). Auch der Inhalt der Datei nicht lesbar sind. Nicht sicher, was ich falsch mache
- Warum sind Sie versuchen zu schreiben, die Koordinaten, anstatt mit
ws.append()
? Erstellen Sie ein Angebot über eine Sequenz ist schlecht Python. Verwendenenumerate(seq)
statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin in der Lage zu schreiben, den Inhalt zu xlsx wie oben.
for row in new_data: ws.append(row)