Openpyxl-Einstellnummernformat

Könnte jemand jemand ein Beispiel für die Anwendung der Anzahl Format auf die Zelle. Zum Beispiel brauche ich ein wissenschaftliches Format, Form wäre wie '2.45E + 05', aber ich konnte nicht einen Weg, wie man das in Openpyxl machen.

Ich habe in vielerlei Hinsicht versucht, aber sie melden alle Fehler beim Speichern der Arbeitsmappe.

beispielsweise:

import openpyxl as oxl wb = oxl.Workbook() ws = wb.create_sheet(title='testSheet') _cell = ws.cell('A1') _cell.style.number_format = '0.00E+00' 

Oder dies (hier versuche ich, einige der vordefinierten Zahlenformate zu verwenden, habe ich auch gesehen, gibt es Engineering-Format in builtins aber weiß nicht, wie man darauf zugreifen kann:

  nf = oxl.style.NumberFormat.FORMAT_NUMBER_00 _cell.style.number_format = nf 

Ich habe diesen Thread gesehen: Stile in Openpyxl einfügen, aber es hilft nicht, weil ich keine anderen Formatierungseinstellungen ändern musst.

BEARBEITEN

Hier ist der Fehler:

 C:\Python27\openpyxl\cell.pyc in is_date(self) 408 """ 409 return (self.has_style --> 410 and self.style.number_format.is_date_format() 411 and isinstance(self._value, NUMERIC_TYPES)) AttributeError: 'str' object has no attribute 'is_date_format' 

In beiden Fällen bekomme ich den gleichen Fehler.

2 Solutions collect form web for “Openpyxl-Einstellnummernformat”

Für Leute, die hier von Google geschickt wurden (wie ich war). Die akzeptierte Antwort funktioniert nicht mit openpyxl 2.0. Das number_format kann direkt geändert werden.

Das gegebene Beispiel wird:

 from openpyxl import Workbook wb = Workbook() ws = wb.create_sheet(title='testSheet') _cell = ws.cell('A1') _cell.number_format = '0.00E+00' 

Nevermind, ich habe es herausgefunden, es muss so verwendet werden (wenn man denselben Code wie vorher benutzt):

  _cell.style.number_format.format_code = '0.00E+00' 
  • Lesen von xlsx-Dateien mit Python [geschlossen]
  • Bild in openpyxl einfügen
  • Wie lade / lesen Sie passwortgeschützte xls oder xlsx (Excel) Datei mit python in Linux?
  • Python ist die beste Programmiersprache der Welt.