Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.955 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

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>

×