Python- Excel- Bibliotheken PyExcelerator, XLRD, PyWin32
Inhalt <ul><li>Hintergrund </li></ul><ul><li>PyExcelerator, XLRD, PyWin32 </li></ul><ul><li>Vor- und Nachteile  </li></ul>
Anreiz und Wahl der Bibliothek  <ul><li>Skripterweiterung für DataFinder:  </li></ul><ul><ul><li>Projekt- und Auftragsverw...
PyExcelerator <ul><li>Excel-Dokumente (97+), OpenOffice Calc  </li></ul><ul><li>Python 2.4+ </li></ul><ul><li>Unterstützun...
XLRD <ul><li>Excel- Reader : Daten (auch bool‘sche Ausdrücke), Referenzen, Formatinformationen </li></ul><ul><li>Keine Obj...
PyWin32 <ul><li>Python unter Windows: COM-Interface </li></ul><ul><li>Entwickelt von Mark Hammond </li></ul><ul><li>Plattf...
Auslesen einer Zeile in einem Excel-Worksheet <ul><li>parse_xls(filename)  </li></ul><ul><li>get() </li></ul><ul><li>keys(...
parse_xls(filename)
Vor- und Nachteile  <ul><li>PyExcelerator </li></ul><ul><ul><li>↑ Gute Dokumentation und Beispiele, übersichtliche Anzahl ...
XLRD <ul><li>xlrd.open_workbook() </li></ul><ul><li>sheet_by_index() / sheet_by_name() </li></ul><ul><li>row(),  col(),  c...
Vor- und Nachteile <ul><li>XLRD </li></ul><ul><ul><li>↑ Gute Dokumentation, übersichtliche Anzahl an Funktionen </li></ul>...
PyWin32 <ul><li>Dispatch() </li></ul><ul><li>Open() </li></ul><ul><li>Sheets() </li></ul><ul><li>Cells() </li></ul><ul><li...
Vor- und Nachteile <ul><li>PyWin32 </li></ul><ul><ul><li>↑ Viele nützliche Funktionen zur Ausgabe von Zellen,Spalten, etc....
Fazit <ul><li>PyWin32, XLRD oder PyExcelerator? </li></ul><ul><li>Kontext der Verwendung </li></ul><ul><li>Andere Biblioth...
Nächste SlideShare
Wird geladen in …5
×

Python - Excel - Bibliotheken

4.757 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
4.757
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
10
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Python - Excel - Bibliotheken

  1. 1. Python- Excel- Bibliotheken PyExcelerator, XLRD, PyWin32
  2. 2. Inhalt <ul><li>Hintergrund </li></ul><ul><li>PyExcelerator, XLRD, PyWin32 </li></ul><ul><li>Vor- und Nachteile </li></ul>
  3. 3. Anreiz und Wahl der Bibliothek <ul><li>Skripterweiterung für DataFinder: </li></ul><ul><ul><li>Projekt- und Auftragsverwaltung </li></ul></ul><ul><ul><li>Parsen von Excel-Tabellen zur Weiterverarbeitung </li></ul></ul><ul><li>Kriterien für die Wahl der Bibliothek: </li></ul><ul><ul><li>Einarbeiten und Fehlersuche </li></ul></ul><ul><ul><li>Dokumentation und Beispiele </li></ul></ul><ul><ul><li>Funktionalitäten </li></ul></ul><ul><ul><li>Plattformabhängigkeit /-unabhängigkeit </li></ul></ul>
  4. 4. PyExcelerator <ul><li>Excel-Dokumente (97+), OpenOffice Calc </li></ul><ul><li>Python 2.4+ </li></ul><ul><li>Unterstützung von Unicode in Excel </li></ul><ul><li>Plattformunabhängig </li></ul>
  5. 5. XLRD <ul><li>Excel- Reader : Daten (auch bool‘sche Ausdrücke), Referenzen, Formatinformationen </li></ul><ul><li>Keine Objekte, Formeln, Kommentare, Hyperlinks, etc. </li></ul><ul><li>Plattformunabhängig </li></ul><ul><li>Windows: Umgehen von COM-Objekten </li></ul>
  6. 6. PyWin32 <ul><li>Python unter Windows: COM-Interface </li></ul><ul><li>Entwickelt von Mark Hammond </li></ul><ul><li>Plattformabhängig </li></ul><ul><li>Interaktion mit Windows-Programmen (Excel) </li></ul>
  7. 7. Auslesen einer Zeile in einem Excel-Worksheet <ul><li>parse_xls(filename) </li></ul><ul><li>get() </li></ul><ul><li>keys() </li></ul>from pyExcelerator import * test = parse_xls(&quot;C:Test.xls&quot;) liste = [] tupel = test[] dict = tupel[1] cellcontent = dict.get((1,4)) for y in range(0, len(dict.keys())) helpvar = dict.get((0,y)) if helpvar != None: liste.append(helpvar) else: pass print(liste)
  8. 8. parse_xls(filename)
  9. 9. Vor- und Nachteile <ul><li>PyExcelerator </li></ul><ul><ul><li>↑ Gute Dokumentation und Beispiele, übersichtliche Anzahl an Funktionen </li></ul></ul><ul><ul><li>↑ Standard-Python-Datentypen (Listen und Dictionaries) </li></ul></ul><ul><ul><li>↑ Plattformunabhängig </li></ul></ul><ul><ul><li>↓ Letztes Release: April 2009 </li></ul></ul><ul><ul><li>↓ Kann zu Problemen mit Excel 2007/2010 führen </li></ul></ul>
  10. 10. XLRD <ul><li>xlrd.open_workbook() </li></ul><ul><li>sheet_by_index() / sheet_by_name() </li></ul><ul><li>row(), col(), cell() </li></ul>import xlrd test = xlrd.open_workbook(&quot;C:Test1.xls&quot;) liste = [] worksheet = test.sheet_by_index(0) worksheet2 = test.sheet_by_name(&quot;Tabelle1&quot;) row = worksheet.row(0) col = worksheet2.col(0) cellcontent = worksheet.cell(0,0)
  11. 11. Vor- und Nachteile <ul><li>XLRD </li></ul><ul><ul><li>↑ Gute Dokumentation, übersichtliche Anzahl an Funktionen </li></ul></ul><ul><ul><li>↑ nur zum Lesen von Excel-Dokumenten (Schreiben: XLWT) </li></ul></ul><ul><ul><li>↑ Plattformunabhängig </li></ul></ul><ul><ul><li>↓ Schreiben in Excel nicht möglich </li></ul></ul><ul><ul><li>↓ keine einfachen Datentypen </li></ul></ul>
  12. 12. PyWin32 <ul><li>Dispatch() </li></ul><ul><li>Open() </li></ul><ul><li>Sheets() </li></ul><ul><li>Cells() </li></ul><ul><li>Close() </li></ul>from win32com.client Dispatch xls = Dispatch(&quot;Excel.Application&quot;) xls.Visible = 1 wb = xls.Workbooks.Open(&quot;C:Test.xls&quot;) sht = wb.Sheets(&quot;Tabelle1&quot;) for x in range (1,6): row = sht.Cells(1,x) print(row) xls.Workbooks.Close()
  13. 13. Vor- und Nachteile <ul><li>PyWin32 </li></ul><ul><ul><li>↑ Viele nützliche Funktionen zur Ausgabe von Zellen,Spalten, etc. </li></ul></ul><ul><ul><li>↑ Benutzt Excel-Bezeichnungen </li></ul></ul><ul><ul><li>↨ Sehr umfangreich </li></ul></ul><ul><ul><li>↓ Plattformabhängig: nur unter Windows </li></ul></ul><ul><ul><li>↓ COM-Objekte </li></ul></ul><ul><ul><li>↓ Einarbeiten schwierig </li></ul></ul>
  14. 14. Fazit <ul><li>PyWin32, XLRD oder PyExcelerator? </li></ul><ul><li>Kontext der Verwendung </li></ul><ul><li>Andere Bibliotheken: pyXLReader, pyXLWriter, PythonOffice,… </li></ul>

×