Empfehlungen rund um die Workshop Themen

Offizielle Library Carpentry-Lektionen

Python-Library-Empfehlungen

Python - Standard Libraries - Third Party Libraries - Python Standard Libraries * pathlib - Selenium - Seaborn - bokeh - black - scikit-learn - NLTK - Django - flask - Camelot

Lese-/Hör-/Seh-Empfehlungen

Lesen

Podcasts

Videos

  1. PyCharm
  2. Spyder
  3. Emacs
  4. Geany
  5. Visual Studio Code / VSCodium (binary releases of VS Code without MS branding/telemetry/licensing )
  6. Notepad ++
  7. … viele mehr ### Anforderungen an einen guten Editor/IDE
  • Quellcode speichern und wieder laden
    • Eine IDE oder ein Editor muss Deine Arbeit speichern und alles später wieder öffnen, und zwar in demselben Zustand, in dem es sich zuvor befand, um so Zeit für die Entwicklung zu sparen.
  • Ausführung von innerhalb der Umgebung
    • Es sollte einen eingebauten Compiler haben, um den Code auszuführen. Wenn er nicht in der gleichen Software ausgeführt wird, dann ist es wahrscheinlich ein Texteditor.
  • Debugging-Unterstützung
    • Der Debugger in den meisten IDEs bietet die Möglichkeit, schrittweise durch den Code zu gehen und Haltepunkte um den Code teilweise auszuführen.
  • Syntax-Hervorhebung
    • Die Fähigkeit, Schlüsselwörter, Variablen und Symbole in Ihrem Code schnell zu erkennen, erleichtert das Lesen und Verstehen des Codes erheblich.
  • Automatische Code-Formatierung
    • Dies ist ein interessantes Merkmal; der Code rückt sich selbst ein, wenn der Entwickler Schleifen, Funktionen oder einen anderen Blockcode verwendet.

Wie kann man weitermachen:

  • Lektionen selbstständig reproduzieren
  • kleine alltägliche Aufgabe finden, die man mit Hilfe des Gelernten lösen kann, so das sie automatisch abläuft
  • HackyHour organisieren
  • Bei Problemen melden (wir helfen gerne falls möglich)
  • Command Line Challenge

Beispiele für Einsatz von Python(-Skripten) im Biblioteksalltag:

Mögliche Projekte:

  • Linkchecker
  • Manipulation von großen Excel-Dateien / wiederkehrende Arbeiten in Excel
  • Sicherung von wichtigen Dateien
  • Änderung der Namensansetzung fürs Katalogisieren, Beispiel:
    • IN: “Wolfgang Amadeus Mozart”
    • OUT: “Mozart, Wolfgang Amadeus”
  • Identifizierung von Lücken in der Signaturenvergabe

Python-Funktionen:

Beispiel-Projekt: Liste mit Bestellungen auf Zeitschriftenartikel soll mit pandas verarbeitet werden. Um die Liste auswerten zu können, benötigt man einen eindeutigen Wert. Bei Zeitschriften bietet sich da bspw. die ISSN an. - ISSNs bereinigen: - .astype(str): ISSNs bestehen aus Ziffern, einem Bindestrich und ggf. einem X und sind somit kein Integer oder floar. Das Umwandeln in einen String beugt Verwirrungen vor. - .upper(): ISSNs, welche auf “X” enden sind in der vorliegenden Liste inkonsistent, da händisch erfasst oder aus verschiedenen Quellen stammend (Bsp. “0000-123X” und “0000-123x”). Mit .upper() kann man alle Xe groß schreiben. - .replace(): ISSNs sind auch inkonsistent in der Schreibweise (Bsp.: “0000-1234” und “0000 - 1234”), mit .replace() kann die Schreibweise vereinheitlicht werden - Struktur der Liste bearbeiten: - .keys(): zeigt alle Spaltenüberschriften an - .rename(): ändert Spaltennamen - .drop(): löscht Spalten oder Reihen - .groupby(): gruppiert nach Werten - .drop_duplicates(): löscht Reihen nach dubletten Werten - Liste auswerten: - .count(): benutzt, um bspw. Bestellzahlen auf ISSNs zu ermitteln, wie oft wird eine ISSN in der Datei genannt? => Anzahl der Bestellungen - .to_excel(): speichert das Ergebnis als Excel-Datei ab

Tipps & Tricks

Klicke auf “launch”.

Wie man Python in Windows startet

In der Bash ZBMED-Konfiguration:

$ /c/ProgramData/Anaconda3/python

Unix Subsystem unter Windows 10

Einen Alias für einen langen Pfad erstellen

(damit muss nicht der lange Pfadname “/c/ProgramData/Anaconda3/python” angegeben werden): Alias für einen langen Pfad erstellen - Stackoverflow

Personen aus unseren Beispielen